音频播放和录制不适用于 iOS 10

Posted

技术标签:

【中文标题】音频播放和录制不适用于 iOS 10【英文标题】:Audio playing and recording is not working with iOS 10 【发布时间】:2016-11-11 12:34:30 【问题描述】:

我无法在 ios 10 中播放任何音频文件,即使默认键盘点击声音也无法播放。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord  error:&sessionError];

在视频录制中,(我使用的是 AVCaptureConnection),有时是录制声音,有时不是。

我正在使用 LLSimpleCamera 录制视频。

谁能推荐我?

问候

【问题讨论】:

@KiritModi 检查代码字符串,这是客观的c 【参考方案1】:

我在使用 LLSimpleCamera 时遇到了同样的问题,使用此代码

@property(readonly, strong, nonatomic) LLSimpleCamera *camera;
//...
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
[[self camera] startRecordingWithOutputUrl:path didRecord:^(LLSimpleCamera *camera, NSURL *outputFileUrl, NSError *error)
 /*do something*/ 

当我在调用 startRecordingWithOutputUrl: 之前更早地设置类别时 问题没有出现。所以,在setCategory: 之后添加一些代码并检查。 我知道这不是一个“真正”的解决方案,但经过 6 个小时的努力,它对我有用。

无法使用此代码重现问题:

[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];

/* do some UI-related stuff, hide buttons, show bars, some animation */

[[self camera] startRecordingWithOutputUrl:path didRecord:^(LLSimpleCamera *camera, NSURL *outputFileUrl, NSError *error)
 /*do something*/ 

附注仅在 iPhone 7 上复制

【讨论】:

以上是关于音频播放和录制不适用于 iOS 10的主要内容,如果未能解决你的问题,请参考以下文章

iOS音频播放录音视频播放拍照视频录制

在播放 iOS 时从 HLS 流(视频)中提取/录制音频

ios - 播放视频后录制音频

如何使用 Swift 在 iOS 中同时录制和播放音频?

iOS 音频录制与播放

iOS 无法在扬声器上播放并将音频会话设置为录制