मेरे पास यहाँ एक प्लेव्वेज () विधि है:
func playvideo () {let यूआरएल = एनएसURL (स्ट्रिंग: "http://mtc.cdn.vine.co/r/videos_r2/20660994 ए 41184015287536758464WWWWWBW_14252654515363566800065.mp4?versionId=X5uVE9shOvYpw7z7.VnePPyihEfx_uWj") // यूआरएल = एनएसURL (स्ट्रिंग: वीडियो यूआरएल [वीडियोएनम्बर]) // अगर खिलाड़ी = मूवी प्लेअर {player.view.frame = CGRect (x: 0, y: 0, चौड़ाई: 300, ऊँचाई: 300) player.view.center पर मुद्रित करें (videoUrls [videoNumber]) मूवी प्लेयर = एमपी एमपीवीप्लेयर कंट्रोलर (contentURL: url) = Self.view.center player.prepareToPlay () player.scalingMode = .प्रदर्शित करें player.controlStyle = .नहीं self.view.addSubview (player.view) player.play ()}}
जब मैं इसे सीधे दृश्य से कॉल करता हूंडॉडलोड करता है तो यह बिना किसी समस्या के काम करता है। लेकिन जब मैंने उसे साझा सत्र में इस तरह कॉल करने की कोशिश की:
var कार्य = NSURL सत्र। शेडर सत्र ()। डेटाटास्क विथ url (url !, समापनहैंडलर: {डेटा, प्रतिक्रिया, त्रुटि - & gt; शून्य एनएएसआरआरई = (जेसनईआरसल्ट ["डेटा"] के रूप में: यदि (त्रुटि == नीला) {var err: NSError? Var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData (डेटा, विकल्प: NSJSONReadingOptions.MutableContainers, त्रुटि: & amp; ] ["अभिलेख"]) के रूप में NSArray के लिए (var i = 0; i & lt; record.count; i ++) {var strVideo = (रिकॉर्ड [i] ["videoLowURL"] स्ट्रिंग के रूप में); videoUrls.append (strVideo)} } अन्य {println ("त्रुटि")}}) task.resume ()
यह केवल काली स्क्रीन दिखाता है और कोई आवाज नहीं है या कुछ नहीं।
I पता है कि यह playVideo () विधि को कॉल करता है लेकिन यह सही काम नहीं करता है
समस्या क्या हो सकती है? यह मेरे सिर के ऊपर से है, लेकिन पूरा होल्डर को मुख्य थ्रेड पर शायद नहीं कहा जाता है। मुख्य UI पर सभी यूआई सामग्री को किया जाना चाहिए।
मुख्य कतार में डिस्पैच का उपयोग कर:
प्रेषक_आसिनक (प्रेषण_पत_मैन_क्लू ()) {self.playVideo ()} कोड>
No comments:
Post a Comment