मुझे यह त्रुटि मिल रही है जब मैं इस त्वरित पुस्तकालय (https://github.com/piemonte/player) का उपयोग करके एकाधिक वीडियो चलाने की कोशिश कर रहा हूं। सुनिश्चित नहीं है कि यह उस खिलाड़ी से संबंधित है, या फ़ोटो ढांचे या फिर क्या है।फोटो फ्रेमवर्क: परिसंपत्तियों के लिए कनेक्शन बाधित था या संपत्ति की मृत्यु हो गई
क्या होता है, मेरे पास एक ऐसा दृश्य है जो या तो एक फोटो या वीडियो प्रदर्शित करेगा। सब कुछ कुछ वीडियो ठीक होने तक ठीक काम करता है और फिर यह संदेश पॉप अप हो जाएगा, उसके बाद सभी वीडियो खेलने में सक्षम नहीं होंगे और उनके स्थान पर आप सिर्फ एक ब्लैक स्क्रीन देखेंगे, और फिर मुझे मेमोरी उपयोग त्रुटि मिल जाएगी।
मैं स्वाइप व्यू नामक लाइब्रेरी का उपयोग कर रहा हूं और यहां कुछ प्रासंगिक कोड है जो सहायक हो सकते हैं।
func swipeView(swipeView: SwipeView!, viewForItemAtIndex index: Int, reusingView view: UIView!) -> UIView! {
let asset: PHAsset = self.photosAsset[index] as PHAsset
// Create options for retrieving image (Degrades quality if using .Fast)
// let imageOptions = PHImageRequestOptions()
// imageOptions.resizeMode = PHImageRequestOptionsResizeMode.Fast
var imageView: UIImageView!
let screenSize: CGSize = UIScreen.mainScreen().bounds.size
let targetSize = CGSizeMake(screenSize.width, screenSize.height)
var options = PHImageRequestOptions()
options.resizeMode = PHImageRequestOptionsResizeMode.Exact
options.synchronous = true
if (asset.mediaType == PHAssetMediaType.Image) {
PHImageManager.defaultManager().requestImageForAsset(asset, targetSize: targetSize, contentMode: .AspectFill, options: options, resultHandler: {(result, info) in
if (result.size.width > 200) {
imageView = UIImageView(image: result)
}
})
return imageView
} else if (asset.mediaType == PHAssetMediaType.Video) {
self.currentlyPlaying = Player()
PHImageManager.defaultManager().requestAVAssetForVideo(asset, options: nil, resultHandler: {result, audio, info in
self.currentlyPlaying.delegate = self
self.currentlyPlaying.playbackLoops = true
self.addChildViewController(self.currentlyPlaying)
self.currentlyPlaying.didMoveToParentViewController(self)
var t = result as AVURLAsset
var url = t.valueForKey("URL") as NSURL
var urlString = url.absoluteString
self.currentlyPlaying.path = urlString
})
return self.currentlyPlaying.view
}
return UIView()
}
func swipeViewItemSize(swipeView: SwipeView!) -> CGSize {
return self.swipeView.bounds.size;
}
func swipeView(swipeView: SwipeView!, didSelectItemAtIndex index: Int) {
self.currentlyPlaying.playFromBeginning()
}
func swipeViewCurrentItemIndexDidChange(swipeView: SwipeView!) {
self.currentlyPlaying.stop()
}
कोई भी विचार बहुत अच्छा होगा।
ऐसा लगता है कि हर बार एक वीडियो खेला जाता है, तो आप एक नया 'प्लेयर()' बनाते हैं और इसे एक बच्चे दृश्य नियंत्रक के रूप में जोड़ते हैं। क्या आपने कभी इसे हटा दिया है? इससे स्मृति समस्याएं हो सकती हैं। – Jack
@ जैकव्यू। ओह, शायद यह है। मैं उस पर एक नज़र डालेगा, धन्यवाद! – Jonovono