如何加载多个QTMovie对象然后选择要播放的对象?

时间:2012-06-01 18:06:07

标签: objective-c cocoa quicktime

我是使用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}}

我是否完全走错了方向,或者我只是错过了几行代码来使这个“线程安全”?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在使用后台(非主要)线程中的QTMovie对象之前,您需要调用:

[QTMovie enterQTKitOnThread]

[QTMovie enterQTKitOnThreadDisablingThreadSafetyProtection]

选择哪一个取决于电影文件的编解码器。第二个变体将允许非线程安全的组件;对于一些罕见的编解码器,这将是唯一的方法。

电话必须与:

配对
[QTMovie exitQTKitOnThread]