首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用MPMoviePlayerController查找

无法使用MPMoviePlayerController查找
EN

Stack Overflow用户
提问于 2011-04-30 21:06:22
回答 3查看 5.4K关注 0票数 3

我要在MPMediaPlayerController上寻找时间表。

我尝试使用MPMediaPlayerController的未记录方法setCurrentTime,如下所示。

代码语言:javascript
复制
[player setCurrentTime:1.f];

然后苹果崩溃了,如下所示。

代码语言:javascript
复制
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MPMoviePlayerController setCurrentTime:]: unrecognized selector sent to instance 0x5619fe0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x00f59be9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x010ae5c2 objc_exception_throw + 47
    2   CoreFoundation                      0x00f5b6fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x00ecb366 ___forwarding___ + 966
    4   CoreFoundation                      0x00ecaf22 _CF_forwarding_prep_0 + 50
    5   MPlayerExample                      0x0000227d -[MPlayerExampleViewController PauseVideo] + 69
    6   Foundation                          0x000367f6 __NSFireDelayedPerform + 441
    7   CoreFoundation                      0x00f3afe3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
    8   CoreFoundation                      0x00f3c594 __CFRunLoopDoTimer + 1220
    9   CoreFoundation                      0x00e98cc9 __CFRunLoopRun + 1817
    10  CoreFoundation                      0x00e98240 CFRunLoopRunSpecific + 208
    11  CoreFoundation                      0x00e98161 CFRunLoopRunInMode + 97
    12  GraphicsServices                    0x0188e268 GSEventRunModal + 217
    13  GraphicsServices                    0x0188e32d GSEventRun + 115
    14  UIKit                               0x002c642e UIApplicationMain + 1160
    15  MPlayerExample                      0x00001fe4 main + 102
    16  MPlayerExample                      0x00001f75 start + 53
)
terminate called after throwing an instance of 'NSException'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-01 20:40:13

您可以使用currentPlaybackTime属性查找MPMoviePlayerController,该属性记录在MPMediaPlayback Protocol Reference中。

因此,您的代码将如下所示:

代码语言:javascript
复制
[player setCurrentPlaybackTime:1.0];
票数 11
EN

Stack Overflow用户

发布于 2011-04-30 23:10:53

这是一个没有文档记录的API...不能保证它能正常工作。事实上,您不应该期望它会这样。苹果完全有可能将它从操作系统更新中删除,而现在这种方法已经不存在了。

如果这很重要,你给它传递一个浮点数,我想它应该是双精度的。这可能就是你遇到问题的原因。但是,如果你正在编写一个在应用程序商店上分发的应用程序,那么进一步调查是没有意义的--你的应用程序会被拒绝。Apple在提交代码时会自动进行静态分析,任何非公共API的使用都会导致你的应用程序被直接弹回给你。

票数 1
EN

Stack Overflow用户

发布于 2016-02-26 14:04:25

这是一个代码,可以使用自定义滑块在MPMoviePlayer中查找视频

代码语言:javascript
复制
//create slider  

slider1 = [[UISlider alloc] initWithFrame:CGRectMake(85, 435, 150,30)];
    [slider1 addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
    [slider1 setBackgroundColor:[UIColor clearColor]];
    slider1.minimumValue = 0;
    slider1.continuous = YES;

    [self.view addSubview:slider1];

// Set slider max value as moviePlayerController Total Duration and Current (Set Value ) as slider Value

-(void)sliderAction:(id)sender
{
    UISlider *slider = (UISlider*)sender;
    float value = slider.value;

    slider.maximumValue =  self.moviePlayerController.duration;

    self.moviePlayerController.currentPlaybackTime = value;


}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5841937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档