来自 URL 的资源路径

发布于 2024-12-20 06:17:42 字数 211 浏览 0 评论 0原文

我有这样的代码:

NSString *songPathForm = @"http://www.example.com/file.wav";

NSString *song = [[NSBundle mainBundle]pathForResource:songPathForm ofType:nil];

但是歌曲最终变成了空,我做错了什么?

I have this code:

NSString *songPathForm = @"http://www.example.com/file.wav";

NSString *song = [[NSBundle mainBundle]pathForResource:songPathForm ofType:nil];

But song just ends up being null, what am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

此生挚爱伱 2024-12-27 06:17:42

这里的“路径”是指本地文件系统上的文件路径。您提供给 NSBundle 的是一个 URL。 NSBundle 通常用于获取应用程序本身中的文件(从 Finder 中选择“显示包内容”时所看到的内容)。 NSBunlde 也需要一个相对文件路径,而不是绝对路径(因为您不知道应用程序在哪里)。

A 'path' here is meant as a file path on the local file system. What you're giving to NSBundle is a URL. NSBundle is typically used to get files which are in the application itself (What you see when you select 'Show Package Contents' from the Finder). NSBunlde is expecting a relative file path also, not an absolute path (because you don't know where the app is).

仄言 2024-12-27 06:17:42

pathForResource 方法仅适用于包内的文件。例如,如果您想访问外部 URL 处的文件,可以在 NSData 类中使用 dataWithContentsOfURL:

The pathForResource method works only for files inside a bundle. If you want to access a file at a external URL you could use dataWithContentsOfURL: in the NSData class for example.

凉城凉梦凉人心 2024-12-27 06:17:42

要播放您知道其 URL 的声音,您应该使用类似于以下代码的代码:

NSSound *sound = [[NSSound alloc] initWithContentOfURL: [NSURL URLWithString:songPathForm] byReference:NO];
[sound play];

To play a sound for which you know the URL, you should use code similar to the following one:

NSSound *sound = [[NSSound alloc] initWithContentOfURL: [NSURL URLWithString:songPathForm] byReference:NO];
[sound play];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文