Cocoa 无法使用QTMovie直接播放.mp3文件

Cocoa 无法使用QTMovie直接播放.mp3文件,cocoa,audio,Cocoa,Audio,我正在尝试使用以下代码在单击按钮时播放.mp3文件: NSString *audioFilePath=[[audioInputTextField stringValue] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *audioUrl = [[NSURL alloc] initWithString:audioFilePath]; QTMovie* soundToPlay = [[QTMovie al

我正在尝试使用以下代码在单击按钮时播放.mp3文件:

NSString *audioFilePath=[[audioInputTextField stringValue] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *audioUrl = [[NSURL alloc] initWithString:audioFilePath];
QTMovie* soundToPlay = [[QTMovie alloc] initWithURL:audioUrl error:nil];
[soundToPlay play];
此处,用户需要在文本字段中输入音频文件的有效url,然后单击旁边的按钮播放,但该文件不适用于我,即没有播放音频:(

如果我做错了什么,有人能建议我吗

谢谢

米拉伊


示例代码可从此处下载-


我尝试的一个示例链接是-

audioFilePath是有效的文件系统路径吗?audioUrl是有效的文件URL还是无效?对于我来说,这看起来不太可能,因为您提供了一个URL编码的路径,并试图用该字符串初始化一个新的URL


您的audioFilePath应该是有效的/Path/To/Folder/File.mp3,如果您有一个基本的文件路径,您应该使用NSURL的+fileURLWithPath:便利方法创建URL。

您输入的URL中的字符已转义百分比,然后您的程序添加了转义百分比。这意味着您对字符进行了双重转义,将将“%20”更正为不正确的“%2520”


尝试两种方法:先尝试URL而不转义,然后如果失败,添加百分比转义并重试。如果失败,请显示
initWithURL:error:
给您的错误。

thanx供您回复和建议…这是我给出的有效路径,例如-,但它不起作用。您可以下载示例应用程序并检查它。我nk音频文件的缓冲和播放方式可能存在一些问题…但我猜我仍在寻找解决方案!啊,所以它不是变量名所建议的文件路径。:-)这应该可以工作。在NSURL创建行之后设置断点并检查audioUrl时会发生什么情况?它是有效的还是无效的?不要抑制错误返回。这部电影很有可能告诉你出了什么问题,但你不会让它发生。将指针传递给
NSError*
变量,然后当
soundToPlay
nil
时,将
initWithURL:error:
给您的错误对象记录在变量中。@miraj您完成了该任务吗?请看一看我的类似问题。thanx…谢谢你的回复:)我会检查一下,然后告诉你@彼得·霍西,请看看我的类似问题。