我想从URL获取音频流并在iPhone上播放它。不幸的是,只有C#如何播放该流,但我需要在iPhone框架中实现Objective C。我尝试过使用不同的音频框架,但都不成功。这是什么在C#中:从URI获取音频流并在iPhone上播放它
response = httpWebRequest.GetResponse();
using (Stream stream = response.GetResponseStream())
{
using (SoundPlayer player = new SoundPlayer(stream))
{
player.PlaySync();
}
}
我应该做什么目标C中获取从该网址流音频?在该URL中,我没有mp3文件或其他东西,我只是得到一个流。可能我必须以某种方式将该流下载到iPhone音频文件,然后播放它以消除滞后。
我尝试这样做:
AVPlayer *player = [AVPlayer playerWithURL:url];
[player play];
这:
AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL: url error:nil];
[theAudio setVolume :0.50]; //setting the volume
[theAudio play];
但是都没有成功。 我测试了我的网址,它在浏览器中运行良好。
这是工作的代码:
NSData *_objectData = [NSData dataWithContentsOfURL:url];
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
audioPlayer.numberOfLoops = 0;
audioPlayer.volume = 1.0f;
[audioPlayer prepareToPlay];
if (audioPlayer == nil)
NSLog(@"%@", [error description]);
else
[audioPlayer play];
但它首先将所有数据下载到NSData对象。它不是流媒体。 –
它不会做音频流,请分享一些链接到音频流 – AsifHabib
它不能在线播放。它仍然下载。如果你的mp3是一个巨大的文件。 RIP这段代码会给你一生的时间等待。 – vichhai