ios - 我如何将这四行代码从 AVAudioPlayer 转换为 AVPlayer?

标签 ios xcode swift swift2 avplayer

我需要将我的代码从 AVAudioPlayer 更改为 AVPlayer 因为它支持倒带而 AVAudioPlayer 不支持。我在使用这四行代码寻找正在使用 slider 播放的音频时遇到了问题。这是我的代码:

func changeAudioTime() {

    //musicPlayer is declared as AVAudioPlayer and I want to change it to  AVPlayer and I named the variable player

    musicPlayer.prepareToPlay()
    musicPlayer.currentTime = NSTimeInterval(slider.value)
    musicPlayer.numberOfLoops = -1
    slider.value = Float(musicPlayer.currentTime)

}

最佳答案

要在这两种情况下设置时间,您可以使用:

self.player.seekToTime(CMTimeMake(Int64(slider.value),1))
slider.value = Float(CMTimeGetSeconds(self.player.currentTime()))

对于循环,您可以尝试这样,因为没有直接的循环方法,直到您想重复为止,您可以设置标志/观察者并重复歌曲,如果重复关闭,则可以不执行观察者/搜索

NSNotificationCenter.defaultCenter().addObserver(self,
selector: "playerItemDidReachEnd:",name: AVPlayerItemDidPlayToEndTimeNotification,
object: self.player.currentItem)

func playerItemDidReachEnd(notification: NSNotification) {
    self.player.seekToTime(kCMTimeZero)
    self.player.play()
}

关于ios - 我如何将这四行代码从 AVAudioPlayer 转换为 AVPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785093/

相关文章:

ios - 请求完成处理程序 fatal error : unexpectedly found nil while unwrapping an optional value exception

iphone - 使用 CGAffineTransform 对图像进行动画处理并在指定点获取 CGPoint?

iphone - 如何使用 objective-c 和 xcode 从网站读取文件

ios - 分发配置文件是否来自分发证书?

ios - 测试无法导入子依赖项 - @testable import SubModule - 使用未声明的类型 'InternalSubModuleType'

php - 如何通过点击电子邮件中发送的超链接将用户重定向到移动应用程序或网站?是否需要使用 PHP 在服务器端处理?

ios - ipad照片文件夹路径

xcode - 您可以同时安装 Xcode 3 和 Xcode 4 preview 6 吗?

arrays - 使用 ObjectMapper Swift 3 将 Json 映射到嵌套数组

ios - String 到 UIColor 的字典数组