HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 使用纯音频AVPlayer的AVPlayerViewController大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
刚开始使用AVKit,我正在尝试播放一些音频.使用 Mastering Modern Media Playback中详细介绍的新AVPlayerViewController会很高兴,这样我就可以使用现成的播放/暂停/搜索UI.我基本上有一个带有容器视图的故事板,它有一个嵌入到AVPlayerViewController的segue.然后我用:
override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {
    if (segue.identifier == "embedAudio") {
        var playerViewController:AVPlayerViewController = segue.desTinationViewController as AVPlayerViewController

        playerViewController.player = AVPlayer(URL: NSURL(String: "http://dts.podtrac.com/redirect.mp3/files.serialpodcast.org/sites/default/files/podcast/1420057326/serial-s01-e01.mp3"))
    }
}

它很好地嵌入并播放,但它有一个大的黑色QuickTime符号,视频将在其中.我想知道是否有办法让它看起来更像是音乐或播客应用程序.

解决方法

不要使用AVPlayerViewController,因为它是一个全屏,黑匣子,视频播放器.

相反,创建自己的视图控制器,例如,工具栏和操作系统中可用的控件(播放,暂停,停止等),并将它们挂钩到AVAudioPlayer.这就是您自己的视图控制器的代码可能如下所示:

维护播放器的实例

var audioPlayer:AVAudioPlayer!
@IBOutlet weak var playProgress: UIProgressview!

例:播放

@IBACtion func doplayAction(_ sender: AnyObject) {
    do {
        try audioPlayer = AVAudioPlayer(contentsOf: audioRecorder.url)
        audioPlayer.play()
    } catch {}
}

例:停止

@IBACtion func doStopAction(_ sender: AnyObject) {
    if let audioPlayer = self.audioPlayer {
        audioPlayer.stop()
    }
}

例:跟踪进度

func playerProgress() {
    var progress = Float(0)
    if let audioPlayer = audioPlayer {
        progress = ((audioPlayer.duration > 0)
            ? Float(audioPlayer.currentTime/audioPlayer.duration)
            : 0)
    }
    playProgress.setProgress(progress,animated: truE)
}

我已经使用本答案中概述的方法发布了录制和播放示例.

►在GitHub找到此解决方案,并在Swift Recipes找到其他详细信息.

大佬总结

以上是大佬教程为你收集整理的ios – 使用纯音频AVPlayer的AVPlayerViewController全部内容,希望文章能够帮你解决ios – 使用纯音频AVPlayer的AVPlayerViewController所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。