开发者社区 问答 正文

MPMoviePlayerController Seeking

使用MPMoviePlayerController播放 音频流时
通过Slider改变播放时间

player.currentPlaybackTime = (NSTimeInterval)slider.value;
好像没有不起作用。。

暂时用

[player stop];
player.initialPlaybackTime = (NSTimeInterval)sender.value;
[player play];
这种看起来很脑残的问题解决。。

请问大家有遇到类似问题吗。。。HELP!

展开
收起
a123456678 2016-07-20 14:23:49 1835 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果题主的的Slider是UISlider的话,那么由于slider.maximumValue最大值为1.0,您直接把player.currentPlaybackTime设置为slider.value的话,仅仅是把player设置为0.x秒的位置。当然,这是一个bug。另外还需要判断一下player的位置。还是直接上代码吧:)

    在响应UISlider UIControlEventValueChanged或UIControlEventTouchUpInside事件的方法中:

    NSTimeInterval currentTime = player.duration * (double)(slider.value / slider.maximumValue);
    if (player.playbackState == MPMoviePlaybackStatePlaying) {

        [player pause];

    }
    [player setCurrentPlaybackTime:currentTime];

    2019-07-17 19:58:48
    赞同 展开评论
问答地址: