我正在尝试使用MPMoviePlayerController来创建音频播放器,而无需实现我自己的擦洗和播放/暂停按钮。
我有将代码录制到NSData并将其保存到磁盘的代码。下面的方法通过使用MPMoviePlayerController播放音频来测试音频。
如果我在录制完成后立即执行该方法,则下面的代码可以工作(播放音频,可以听到)。如果我按下主页按钮,然后返回应用程序也可以。
然而,当我杀死应用程序并重启,或者从xCode点击“run”时,我听不到任何声音。以下是症状:
什么可能导致我的MPMoviePlayerController在应用程序重新启动时不提供任何音频?我正在将音频长度写入文件的扩展属性,这可能会弄乱文件的“可播放性” ?
-(void)testPlayback:(AudioNote*)note
{
NSString* path = [note filepath];
if(note == nil || path.length == 0)
{
return;
}
NSURL* url = [NSURL fileURLWithPath:path];
//file exists, and data exists on disk in both cases
NSString* exists = ([note fileExists]? @"YES":@"NO");
NSUInteger length = note.fileData.length;
DLog(@"Playing note (exists: %@, data length:%i), duration: %.2f",exists,length,note.durationSeconds);
self.moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];
self.moviePlayer.controlStyle=MPMovieControlStyleDefault;
[self.view addSubview:self.moviePlayer.view];
[self.moviePlayer prepareToPlay];
[self.moviePlayer play];
}