我是使用Objective-C和Cocoa的新手。
我已按照示例代码播放了here上的Quicktime电影。我想知道如何扩展它,以便我可以在程序开始时加载多个QTMovie
,然后在请求时以最小延迟播放每个QTMovie
。
我最初的策略是创建一个包含MovieContainer
对象的类以及加载和播放它的方法。然后在我的主要课程中,我将列出这些QTMovieLoadStateError
个对象。
当我尝试实现此功能时,我会在加载每个QTMovie
期间收到Domain=NSOSStatusErrorDomain Code=-2098 "The operation couldn’t be completed.
(OSStatus error -2098.)" (component is not thread-safe)
并显示错误消息
{{1}}
我是否完全走错了方向,或者我只是错过了几行代码来使这个“线程安全”?
感谢您的帮助。
答案 0 :(得分:0)
在使用后台(非主要)线程中的QTMovie对象之前,您需要调用:
[QTMovie enterQTKitOnThread]
或
[QTMovie enterQTKitOnThreadDisablingThreadSafetyProtection]
选择哪一个取决于电影文件的编解码器。第二个变体将允许非线程安全的组件;对于一些罕见的编解码器,这将是唯一的方法。
电话必须与:
配对[QTMovie exitQTKitOnThread]