如何同时录制使用 AVPlayer 和 wav 文件播放的歌曲?

Posted

技术标签:

【中文标题】如何同时录制使用 AVPlayer 和 wav 文件播放的歌曲?【英文标题】:how can i record a song which is playing with AVPlayer and an wav file at a same time? 【发布时间】:2012-04-09 10:47:05 【问题描述】:

我正在开发一个应用程序,我必须在其中同时录制歌曲和 wav 文件。我正在播放 iPod 音乐库中的歌曲,并且在视图控制器上我放置了一个单击按钮wav 文件启动,但是当我开始使用 AVAudioRecorder 录制时,我的 wav 文件停止工作。 这是我的 ipod 音乐库的代码:-

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) collection 


MPMediaItem *item = [[collection items] objectAtIndex:0];
NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL];

[self dismissModalViewControllerAnimated: YES];


// Play the item using AVPlayer


AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:url];
player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
[player play];  

这是我用来播放 wav 文件的代码:-

-(void)playAudio:(NSString *)path

SystemSoundID soundIDWav;
NSString *sound = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath], @"/wavFile.wav"];
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioservicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundIDWav);
AudioServicesPlaySystemSound(soundIDWav);

我正在通过 AVAudioRecorder 录制这两个... 请帮忙。在此先感谢...

【问题讨论】:

【参考方案1】:

创建音频会话

audioSession.delegate = self;
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
[audioSession setActive:YES error:nil];

现在在 AVAudioPlayer 中播放您的文件,同时使用 AVAudioRecorder 开始录制

【讨论】:

以上是关于如何同时录制使用 AVPlayer 和 wav 文件播放的歌曲?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Windows API 从麦克风录制 wav 声音?

如何在android中录制.wav格式的文件

如何把matlab里的音频文件转换为wav格式

如何在 Swift 中以 wav 格式录制音频?

在 iOS 中使用耳机插孔引脚同时播放和录制音频?

在 iPhone 上将声音录制为 WAV