gpt4 book ai didi

ios - AVAudioPlayer 只播放自定义音频文件一秒

转载 作者:行者123 更新时间:2023-12-01 19:16:53 25 4
gpt4 key购买 nike

在我的应用程序中,我使用 AVAudioRecorder 对象来允许用户录制声音文件,当用户完成录制后,他们可以通过 AVAudioPlayer 播放声音。我遇到的问题是当用户尝试播放它只播放一秒钟的音频文件时。更奇怪的是,这段代码在 iOS 5 上运行良好,但自从升级到 iOS 6 后,这个问题就开始发生了。

我检查了通过 iTunes 文件共享创建的文件,我可以在我的桌面上播放整个声音文件。

下面我粘贴了加载音频播放器的操作文件中的代码。据我所知

- (void)playRecordingBtnClk:(id)sender
{
NSLog(@"Play btn clk");

if (!isRecording) {

// disable all buttons
[_recordButton disableButton];
[_stopButton disableButton];
[_playButton disableButton];
[_saveButton disableButton];

// create the player and play the file from the beginning
if (audioPlayer) {
[audioPlayer release];
audioPlayer = nil;
}

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioRecorder.url error:&error];
audioPlayer.delegate = self;
audioPlayer.currentTime = 0.0;
[audioPlayer prepareToPlay];

if (error) {
NSLog(@"Error Playing Audio File: %@", [error debugDescription]);
return;
}

[audioPlayer play];
[self startTicker];
}
}

看来,
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 

一秒钟后调用方法,这就是音频播放器停止的原因。有人知道这里发生了什么吗?

最佳答案

对于 iOS 6.0,再添加两行:

soundPlayer.currentTime = soundPlayer.duration + soundPlayer.duration;
soundPlayer.numberOfLoops = 1;

不是一个完美的解决方案。我们可能需要等待 iOS 6.0.1/6.1 更新。

更多详情,请 visit this ,有人评论说可能是CDAudioManager的问题。

关于ios - AVAudioPlayer 只播放自定义音频文件一秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com