我想用 AVAudioPlayer 在我的服务器上播放 mp3 文件

Posted

技术标签:

【中文标题】我想用 AVAudioPlayer 在我的服务器上播放 mp3 文件【英文标题】:I want to play mp3 files on my server with AVAudioPlayer 【发布时间】:2010-07-17 20:44:17 【问题描述】:

我试过这段代码,但它不起作用。

-(IBAction)playSound   
    NSString *path = [[NSBundle mainBundle] pathForResource:@"http://www.domain.com/audio/test.mp3"];
    AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];

【问题讨论】:

欢迎来到***!我冒昧地重新格式化了您的代码。您可能想告诉我们更多关于您的问题的信息,尤其是为什么它不起作用。你得到什么错误信息?错误发生在什么规范(配置、编译或执行)?为什么你认为你的例子应该有效? 【参考方案1】:

NSBundle 只能选择应用程序包中的文件,不能选择互联网上的文件。

将此设为path

NSString *path = @"http://www.domain.com/audio/test.mp3";

其他一切都保持不变,它应该可以工作

【讨论】:

并将 [NSURL fileURLWithPath:path] 更改为 [NSURL URLWithString:path]【参考方案2】:

试试这个:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];
AVAudioPlayer *audio = [[AVAudioPlayer alloc] initWithData:data error:nil];
[audio play];

【讨论】:

以上是关于我想用 AVAudioPlayer 在我的服务器上播放 mp3 文件的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 完全从 App 中移除

我想用我的 android 手机作为模拟器在 windows 7 上运行颤振。在我的调试模式下进行了调整。如何解决颤振医生命令的问题

如何使用 AVAudioPlayer 连续播放多个音频文件?

iPhone:AVAudioPlayer 并不总是在设备上播放音频

在播放动态音频之前创建 AVAudioPlayer 对象

如何在我的应用程序的所有视图中管理 AVAudioplayer