Objective c 来自URL的pathForResource
我有以下代码:Objective c 来自URL的pathForResource,objective-c,nsstring,nsurl,nsbundle,mainbundle,Objective C,Nsstring,Nsurl,Nsbundle,Mainbundle,我有以下代码: NSString *songPathForm = @"http://www.example.com/file.wav"; NSString *song = [[NSBundle mainBundle]pathForResource:songPathForm ofType:nil]; 但是song最终是空的,我做错了什么?pathForResource方法仅适用于捆绑包中的文件。如果要访问外部URL上的文件,可以使用NSData类中的dataWithContentsOfURL:
NSString *songPathForm = @"http://www.example.com/file.wav";
NSString *song = [[NSBundle mainBundle]pathForResource:songPathForm ofType:nil];
但是song最终是空的,我做错了什么?pathForResource方法仅适用于捆绑包中的文件。如果要访问外部URL上的文件,可以使用
NSData
类中的dataWithContentsOfURL:
。pathForResource
方法仅适用于捆绑包中的文件。如果要访问外部URL上的文件,可以使用NSData
类中的dataWithContentsOfURL:
。此处的“路径”是指本地文件系统上的文件路径。您提供给NSBundle的是一个URL。NSBundle通常用于获取应用程序本身中的文件(从Finder中选择“显示包内容”时所看到的内容)。NSBunlde还需要相对文件路径,而不是绝对路径(因为您不知道应用程序在哪里)。此处的“路径”是指本地文件系统上的文件路径。您提供给NSBundle的是一个URL。NSBundle通常用于获取应用程序本身中的文件(从Finder中选择“显示包内容”时所看到的内容)。NSBunlde还需要相对文件路径,而不是绝对路径(因为你不知道应用程序在哪里)。要播放你知道URL的声音,你应该使用类似于以下代码:
NSSound *sound = [[NSSound alloc] initWithContentOfURL: [NSURL URLWithString:songPathForm] byReference:NO];
[sound play];
要播放您知道URL的声音,应使用类似以下代码:
NSSound *sound = [[NSSound alloc] initWithContentOfURL: [NSURL URLWithString:songPathForm] byReference:NO];
[sound play];
使用时:NSData*song=[NSData dataWithContentsOfURL:[NSURL URLWithString:songPathForm]];我得到一堆垃圾被输出,比如0044000000e0004和stuff@Matt那不是废话;这是文件的内容。但它不起作用,我用它来播放音乐文件,NSData不能播放。OK,我想你应该在询问之前做一些研究。我不知道您正在使用什么来播放声音,但是如果您使用
AVAudioPlayer
,您可以使用initWithData:error:
方法来播放存储在NSData
中的声音。当我使用此方法时:NSData*song=[NSData dataWithContentsOfURL:[nsurlurlwithstring:songPathForm];我得到一堆垃圾被输出,比如0044000000e0004和stuff@Matt那不是废话;这是文件的内容。但它不起作用,我用它来播放音乐文件,NSData不能播放。OK,我想你应该在询问之前做一些研究。我不知道您正在使用什么来播放声音,但是如果您使用AVAudioPlayer
,您可以使用initWithData:error:
方法来播放存储在NSData
中的声音。您试图实现什么?您的代码正在向方法传递URL,以获取路径。既然你已经有了URL,为什么你需要一个路径?@kiamlaluno我正在拉一个带有rss提要的音频链接来使用AVFoundation framework,我试着用NSString songPathForm来播放它们,但没有用,你想实现什么?您的代码正在向方法传递URL,以获取路径。既然你已经有了URL,为什么你需要路径?@kiamlaluno我正在用rss源拉音频链接来播放AVFoundation framework,我尝试用NSString songPathForm来播放它们,但没有效果