在iPhone 4中使用UIViewController MediaPlayer附加功能
我想在iPhone4静态库中使用 my view controller子类的.h导入在iPhone 4中使用UIViewController MediaPlayer附加功能,iphone,uiviewcontroller,mpmovieplayercontroller,media-player,Iphone,Uiviewcontroller,Mpmovieplayercontroller,Media Player,我想在iPhone4静态库中使用 my view controller子类的.h导入。但是,当我在.m中使用PresentMoviePlayServiceController激活时,我会收到一个编译器警告: “MyViewController”可能不响应“-PresentMoviePlayerServiceController动画:动画:” 我做错了什么?如何避免此警告?静态库与此有关吗 当前代码: NSURL* url = [NSURL URLWithString:urlAsString];
。但是,当我在.m中使用PresentMoviePlayServiceController激活时,我会收到一个编译器警告:
“MyViewController”可能不响应“-PresentMoviePlayerServiceController动画:动画:”
我做错了什么?如何避免此警告?静态库与此有关吗
当前代码:
NSURL* url = [NSURL URLWithString:urlAsString];
if ([MPMoviePlayerController instancesRespondToSelector:@selector(setFullscreen:animated:)]) {
// iPhone 3.2 or higher
MyMoviePlayerViewControllerSubclass* vc = [[MyMoviePlayerViewControllerSubclass alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:vc animated:YES];
[vc release];
}
PresentMoviePlayServiceController初始化:
采用类型为MPMoviePlayServiceController
的参数
以下是一个例子:
// Initialize a movie player object with the specified URL
MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
if (mp) {
// save the movie player object
self.moviePlayerViewController = mp;
[mp release];
//Present
[self presentMoviePlayerViewControllerAnimated:self.moviePlayerViewController];
// Play the movie!
self.moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.moviePlayerViewController.moviePlayer play];
}
其中url是电影的url,self.moviePlayerViewController是MPMoviePlayerViewController类型的属性变量(如果需要)。如果这些添加在静态库中,则需要确保主项目设置了其他链接器标志,否则编译器将忽略扩展 进入主项目的生成设置,并在“链接器标志”下确保具有以下设置:
-ObjC-all_load我正在传递一个mpmovieplayervewcontroller子类的实例。这就是问题所在吗?那应该没问题——您使用的是iOS 4 SDK吗?是的。基本SDK是iPhone设备4.0,iPhone操作系统部署目标是iPhone操作系统3.1。您在哪里调用
PresentMoviePlayerServiceController驱动的
?也许你应该发布一些代码,这样我们可以更清楚地看到发生了什么。这个答案包含了我遇到的另一个问题的关键线索,电影控件不会立即出现。答案是提前告诉电影播放器它是MPMoviesSourceType文件。