【问题标题】:NSSound undeclared on iPhone?NSSound 未在 iPhone 上声明?
【发布时间】:2010-12-05 05:58:20
【问题描述】:
sound = [[NSSound alloc] initWithContentsOfFile:@"staticbeam09.wav" byReference:YES];

引用自 Apple docs 的代码。将其放入 viewDidLoad 时出现错误。如果我把

NSSound *sound;

在头文件中,我的实现文件顶部出现说明符限定符错误。我该怎么做才能完成这项工作?我只是粘贴 Apple 文档中的代码 - 这已被弃用吗?感谢您的帮助!

【问题讨论】:

    标签: iphone objective-c xcode frameworks nssound


    【解决方案1】:

    http://icodeblog.com/2009/05/04/iphone-game-programming-tutorial-part-4-basic-game-audio/

    这就是我在最后为 iconquer 制作音频背景音乐和音效的方式

    【讨论】:

    • 嘿,试过了。我在第二行得到一个零字符串参数崩溃: NSString *beamPath = [[NSBundle mainBundle] pathForResource:@"staticbeam09" ofType:@"wav"]; CFURLRef beamURL = (CFURLRef ) [NSURL fileURLWithPath:beamPath]; staticbeam09.wave 在我的资源文件夹中。尝试放置 \resources\staticbeam09 但这没有用..知道它认为我传递的参数是 nil 吗?
    • 我面前没有我的代码,但乍一看,您使用的资源似乎需要采用 caf 格式,iPhone 不使用 Windows 音频编解码器。 Icodeblog 包含一个用于转换它的终端命令。试试看,让我知道
    • 哦!我认为 .wav 是一种通用的无损格式。现在可以了!感谢所有为此提供帮助的人。现在我的游戏中有声音了!
    • 嗯,一个声音就可以了。我使用iTunes转换为m4a,我转换的另一个声音没有播放,也尝试播放MP3,我听不到声音..没有错误,我可以正常播放工作声音..每个声音文件都有自己的SystemSoundID等等。我可以检查声音文件的某些设置/属性是否会导致 Xcode 不播放它?我希望这不是太虚无缥缈。我会尝试其他的声音,似乎很奇怪的一个会工作,而其他人不会。
    • (是的,每个人都有自己的 url / 路径变量)
    【解决方案2】:

    氧气是对的。如果您想在 iPhone 上播放声音,有多种选择。可能最简单的方法是使用音频服务 (example wrapper),然后是 AVAudioPlayer,然后您还可以使用 OpenAL(我编写了一个非常基本的 OpenAL 音效引擎,名为 Finch)。取决于你需要做什么。

    【讨论】:

    • 感谢您的回复。 Zoul,我尝试将您的代码放入我的主实现文件中,并在 viewDidLoad 中放入: Sound *abc = [[Sound alloc] initWithPath:[NSString stringWithFormat:@"staticbeam09.wav"]]; [ABC播放];它编译得很好,但是在运行时我得到了一个未捕获的异常。知道为什么吗?谢谢你们的帮助。
    • stringWithFormat: 调用不是必须的,你可以直接使用@"string"。该代码不完全是我使用的,我可能在那里留下了一些错误。你得到什么例外?你在 Xcode 的 Resources 组中添加了声音文件吗?
    • 哦,我查看了视图报告,它说加载声音时出错。仔细检查了名称和它们的罚款,双击资源中的文件也在 Itunes 中播放。
    • 抱歉,在这种情况下,您必须自己调试代码。查看initWithPath: 方法的内部,查看resourceDirfullPath 扩展为什么并检查文件是否真的在该路径上。这必须有效,只是某处有一个小错误。
    【解决方案3】:

    iPhone SDK 中没有 NSSound 类 仅适用于 MacOS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      相关资源
      最近更新 更多