【问题标题】:iOS Audio Streaming and save audio file to document directry after audio playing finishediOS Audio Streaming 并在音频播放完成后将音频文件保存到文档目录
【发布时间】:2014-10-26 09:13:25
【问题描述】:

我想将音频文件从服务器播放到我的 iOS 应用程序,并在音频播放完成后希望将音频保存到文档目录以供离线播放。

我有一个从服务器播放音频的代码。请提供任何代码来保存文件以供离线播放。

NSURL *fileURL = // your url.   
myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:AudioFileURL error:nil];
myAudioPlayer.numberOfLoops = -1; //infinite loop
[myAudioPlayer play];

【问题讨论】:

  • 你必须加载nsdata并将其保存到文档目录
  • 有什么方法可以在流式传输时保存相同的数据。我不想两次加载(运行)相同的网址。
  • 没有我认为没有任何办法
  • 为什么不第一次保存,如果保存了就在文档目录中查看,不要再下载了。
  • 感谢您的回复,但用户第一次播放音频文件,我不想运行相同的 url 两次,一次用于播放,一次用于下载。

标签: ios objective-c iphone audio audio-streaming


【解决方案1】:

我有一个流媒体套件框架用于此Audio streaming kit from Github

通过 HTTP 播放 MP3

STKAudioPlayer* audioPlayer = [[STKAudioPlayer alloc] init];

[audioPlayer play:@"http://www.abstractpath.com/files/audiosamples/sample.mp3"];

并使用此委托将其数据附加到 NSMutabledata 以离线播放。

在播放前截取 PCM 数据

[audioPlayer appendFrameFilterWithName:@"MyCustomFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames)
{
  ...
}];

【讨论】:

  • 你是如何实现这个方法的? [audioPlayer appendFrameFilterWithName:@"MyCustomFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames) { ... }];能否分享一下代码
猜你喜欢
  • 1970-01-01
  • 2015-02-04
  • 2016-10-28
  • 1970-01-01
  • 2019-11-26
  • 2023-04-03
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多