gpt4 book ai didi

ios - 下载时播放音频文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:56 26 4
gpt4 key购买 nike

我正在尝试播放部分下载的文件(我希望音频在有足够的下载数据时开始播放)。

我尝试了以下方法:

self.mutableData = nil;
self.mutableData = [NSMutableData data];
self.mutableData.length = 0;

GTMHTTPFetcher *fetcher =
[[self driveService].fetcherService fetcherWithURLString:song.filePath];

[fetcher setReceivedDataBlock:^(NSData *dataReceivedSoFar) {
[self.mutableData appendData:dataReceivedSoFar];

if (!self.audioPlayer.playing && self.mutableData.length > 1000000)
{
self.audioPlayer = nil;
self.audioPlayer = [[AVAudioPlayer alloc] initWithData:self.mutableData error:nil];
[self.audioPlayer play];
}
}];

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
if (error == nil)
{
NSLog(@"NSURLResponse: %@", fetcher.response.);
}
else
{
NSLog(@"An error occurred: %@", error);
}
}];

但它开始播放前 1-3 秒,然后应用要么崩溃,要么反复播放 1-3 秒,直到下载完成,然后播放整首歌曲。

我能否通过 AVPlayer 以某种方式实现此目的,或解决此问题?

最佳答案

AVAudioPlayer 无法播放打开用于写入/下载的文件,但 AVPlayer 可以。切换到 AVPlayer。

关于ios - 下载时播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188156/

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