• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 来自视频 : Default to speaker 的 Swift 音频

[复制链接]
菜鸟教程小白 发表于 2022-12-13 01:02:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试在 iPhone 上播放视频,如果视频中的音频通过 iPhone 扬声器输出,那将是理想的选择。

但是,我在控制台上收到此错误:

audioSession error: The operation couldn’t be completed. (OSStatus error -50.)

这是我的代码::

    let player = AVPlayer(url: video_url)

    let audioSession = AVAudioSession.sharedInstance()

    do {
        try audioSession.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker)
    } catch let error as NSError {
        print("audioSession error: \(error.localizedDescription)")
    }

    // get the lenght of the video
    self.video_duration = getMediaDuration(url: video_url) + 0.25

    // notification for when video is over.
    NotificationCenter.default.addObserver(self, selector: #selector(self.playerDidFinish), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player.currentItem)

    // the video controller...
    let controller = AVPlayerViewController()
    controller.view.frame = self.view.frame
    controller.player = player
    controller.showsPlaybackControls = false
    controller.view.tag = 99
    self.video_ctrl = controller

    // add controller as subview
    self.view.addSubview(controller.view)
    controller.player?.play()

我用谷歌搜索了错误,但没有看到任何结果。 任何帮助表示赞赏。

稍后在同一个应用程序中,我使用上述 AVAudioSession 的相同行播放音频文件,效果很好。之后,如果我重播视频,声音会像我想要的那样从扬声器上发出。但为什么不是第一次发生呢?



Best Answer-推荐答案


只需使用选项.defaultToSpeaker:

do {
    try AVAudioSession.sharedInstance().setActive(false)
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: .defaultToSpeaker)
    try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
    print("AVAudioSession error: \(error.localizedDescription)")
}

关于ios - 来自视频 : Default to speaker 的 Swift 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43399737/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap