さて、私はこれを調べてみたので、重複していませんが、何かを見逃した可能性があります。とにかく、私のアプリには、レコードをヒットしたときに再生を開始する必要がある曲があります。したがって、レコードをヒットすると、AVAudioRecorderが録音を開始し、すでに初期化されているAVAudioPlayerが曲の再生を開始します。それでも、曲の音量は非常に静かになります。同時に録音しようとせずに単に曲を再生すると、フルボリュームで再生されるので、曲ではないことはわかっています。助けてくれる人はいますか?ありがとう。
初期化の方法:
NSDictionary *recordSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44010.0],
AVSampleRateKey,
nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]
initWithURL:soundFileURL
settings:recordSettings
error:&error];
if (error)
{
NSLog(@"error: %@", [error localizedDescription]);
} else {
[audioRecorder prepareToRecord];
}
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:"Rang De"
ofType:@"mp3"]];
audioPlayerForPreloadedMusic = [[AVAudioPlayer alloc]
initWithContentsOfURL:url
error:&error];
if (error)
{
NSLog(@"Error in audioPlayer: %@",
[error localizedDescription]);
} else
{
audioPlayerForPreloadedMusic.delegate = self;
[audioPlayerForPreloadedMusic prepareToPlay];
}
私の遊び方:
-(void) recordAudio
{
if (!audioRecorder.recording)
{
playButton.enabled = NO;
stopButton.enabled = YES;
[audioRecorder record];
if(!audioPlayerForPreloadedMusic.playing)
[audioPlayerForPreloadedMusic play];
else {
NSLog(@"music is playing, so won't play");
}
}
}