如何在iPhone应用程序中录制和播放声音?

Par*_*att 13 iphone avaudioplayer avaudiorecorder ios4

我尝试分别使用AVAudioSessionAVAudioPlayer录制和播放声音,但音量非常低.

我尝试将音量值设置AVAudioPlayer为1.0或更高,但没有多大帮助.

还有什么可以录制可以播放的声音?

CNS*_*mar 25

此代码对您有用:

#import <AudioToolbox/AudioServices.h>

    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;                
    AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,          
                                 sizeof (audioRouteOverride),&audioRouteOverride);  
Run Code Online (Sandbox Code Playgroud)

它会增加音量.代码的功能是将普通声音转换为iPhone上的扬声器声音.这就是使用kAudioSessionOverrideAudioRoute_Speaker的原因.

  • 不要忘记import语句.对于经验较丰富的程序员来说,这可能是显而易见的...... #import <AudioToolbox/AudioServices.h> (3认同)

Mar*_*ann 23

从iOS7开始,您可以直接使用AVAudioSession解决此问题

overrideOutputAudioPort方法与AudioSessionSetProperty相同

NSError *setOverrideError;
NSError *setCategoryError;

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&setCategoryError];

if(setCategoryError){
    NSLog(@"%@", [setCategoryError description]);
}

[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&setOverrideError];


if(setOverrideError){
    NSLog(@"%@", [setOverrideError description]);
}
Run Code Online (Sandbox Code Playgroud)