无法通过扬声器播放视频音频 - iOS
Posted
技术标签:
【中文标题】无法通过扬声器播放视频音频 - iOS【英文标题】:Cannot play video audio via speakers - iOS 【发布时间】:2015-10-16 16:26:16 【问题描述】:我有一个 ios 9 应用程序,我已经在我的一个视图控制器中实现了 AVPlayerViewController
。我正在尝试播放视频。我注意到的一个问题是,如果我插入耳机,耳机中的音频可以正常播放。但如果我拔下耳机,音频将从 iPhone 顶部的小耳机播放,而不是从主扬声器播放。我怎样才能改变这个?这是我的代码:
// Setup the video player view.
AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
playerViewController.player = [AVPlayer playerWithURL:pass_URL];
self.player_view = playerViewController;
self.player_view.view.frame = self.view.frame;
[self.view addSubview:playerViewController.view];
self.view.autoresizesSubviews = TRUE;
[self.player_view.player play];
我已将以下框架导入到我的 Xcode 项目中:
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
感谢您抽出宝贵时间,丹。
【问题讨论】:
您是否像此处找到的答案一样更改了 AVAudioSession 的类别? ***.com/questions/32476523/… @Stonz2 我想在这里播放视频,而不是音轨。在任何情况下,Xcode 在添加该行时都会出现错误:Expected ;
。
是的,我注意到的答案有点畸形。他在枚举之前缺少方法名称setCategory:
的第一部分。
【参考方案1】:
您需要向您的 AVAudioSession 添加路由更改观察者 (AVAudioSessionRouteChangeNotification)。然后,如果需要,您可以检测耳机的移除并自行决定路由(例如使用overrideOutputAudioPort
)。
【讨论】:
为什么每个人都在讨论AVAudioSession
,它适用于您想单独播放音轨的情况。我正在尝试在这里播放视频。我遇到的问题是我无法通过扬声器播放视频的音轨。以上是关于无法通过扬声器播放视频音频 - iOS的主要内容,如果未能解决你的问题,请参考以下文章