我正在使用NSURLConnection
下载MP3文件,并使用NSFileHandle
将数据保存到文件中。每当下载一定百分比的文件(所有文件的大小大致相同)时,我都会开始播放MP3文件。
我认为我可以使用AVPlayer
来执行此操作,但它不能在设备上运行 - 只能在模拟器中使用。
我执行以下操作:
if (self.player.rate == 0.0f && percentage > kMinimumDownloadPercentage)
{
NSError *error;
self.player = [AVPlayer playerWithURL:[[NSURL alloc] initFileURLWithPath:localPath]];
if (!error)
[self.player play];
else
NSLog(@"%@", error);
}
这适用于模拟器,但不适用于设备。没有错误。但是,如果我执行以下操作,它确实有效:
self.player = [AVPlayer playerWithURL:url];
其中url
是MP3文件的远程URL。
有谁知道为什么我不能使用AVPlayer
播放本地文件?
答案 0 :(得分:1)
由于文件的保存方式,这是一个错误。
-playerWithURL:
中的 AVPlayer
完全正常。