问题标签 [nssound]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
289 浏览

macos - 在任意通道播放声音

(OSX/可可)

我需要能够从声音文件集合中获取任何声音(或声音)并通过任意声音输出通道播放它(或它们),最好使用每个声音级别控制和或多或少的自动通道混合。(意味着多个声音可以在同一个通道中同时播放)

声音必须能够干净地循环播放。

除了默认的内置音频,可用的输出通道将通过 USB 音频设备添加。就本问题而言,“通道”相当于 USB 音频适配器。

换句话说,我需要找到/写一些类似的东西:

AVAudioPlayer非常接近,但它似乎假设使用内置立体声音频。我无法弄清楚如何将输出路由到特定的输出设备。然而,它的循环很棒

NSSoundplaybackDeviceIdentifier做了输出设备路由部分,但是NSSound 的循环很糟糕。如果 NSSounds 循环不是那么糟糕,那将是赢家。

因此,如果您有一个使 NSSound loop cleanly的答案,那将非常令人满意地回答这个问题。

如果您可以指定如何为 AVAudioPlayer 提供输出路由,那将同样漂亮。

或者,如果您可以指向或提供 CoreAudio 或其他可以完成此操作的代码,那也可以。

0 投票
1 回答
179 浏览

cocoa - 在 Cocoa 中复制/粘贴音频样本

我正在使用 Mac OS X 的 Cocoa 框架创建一个小音频编辑器。我通过将所选样本写入临时 WAV 文件来实现“复制”,然后使用 NSSound 加载 URL,然后将数据推送到粘贴板(writeToPasteboard: )。

现在我正在研究粘贴。我从粘贴板创建了一个 NSSound,现在卡住了。我如何获得样品?

0 投票
1 回答
113 浏览

objective-c - 无法将 NSSound 实例放入 NSMutableArray 离子可可

我无法将NSsound实例添加到一个NSMutableArray 我得到的错误是我不能做[soundFiles addObject:soundObj],因为soundObjnil。但如果我这样做[soundObj play],它会播放 - 所以它是一个实例。

如果我改成[soundFiles addObject:soundObj][soundFiles addObject:soundName]很好,所以这是试图通过NSSound

我希望能够预加载一堆非常短的声音,让它们在被调用的那一刻播放。毫秒对于这个项目很重要。

我希望这能让我这样做[[soundFiles objectAtIndex:1] play]- 因为我认为这会导致它比在NSSound播放它时创建对象更快。

0 投票
0 回答
164 浏览

objective-c - Objective-C - 使用 NSSound 播放声音 - 不适用于 Ubuntu Linux

好的,我在 Windows 7 机器和 Ubuntu Linux 机器上都安装了 GNUStep。使用完全相同的代码,在 Windows 上的 GNUStep 下播放声音可以工作,而在 Linux 上完全没有任何作用。我搜索了谷歌、stackoverflow 等,但没有发现任何东西。我讨厌我必须在除 Mac 之外的任何东西上使用 NSSound,但我别无选择。有没有人让 NSSound 与 Linux 一起工作?

  • Restricted-Extras 安装在 linux 上
  • '$aplay Narnia.wav' 播放得很好
  • 当我打开它时,应用程序甚至无法获取有关 wav 文件的信息,例如它的持续时间,这与 Windows 不同
0 投票
1 回答
119 浏览

objective-c - 拖动项目时找不到播放的声音

我正在尝试搜索将项目拖动到查找器窗口时播放的声音。我在 /System/Library/Sounds 中进行了搜索,发现了这些:

Basso.aiff
Blow.aiff
Bottle.aiff
Frog.aiff
Funk.aiff
Glass.aiff
Hero.aiff
Morse.aiff
Ping.aiff
Pop.aiff
Purr.aiff
Sosumi.aiff
Submarine.aiff
Tink.aiff

但这些都不是我搜索的。我还在 ~/Library/Sounds 上进行了搜索,但该文件夹为空。根据文档,/Library/Sounds 和 /Network/Library/Sounds 也应该有一些,但这些文件夹甚至不存在于我的文件系统中。我在哪里可以找到它?

0 投票
2 回答
61 浏览

objective-c - 我可以创建一个可以通过不同方法访问的对象吗?

这可能是一个基本问题,但我对 Cocoa、Objective-C 和 OOP 很陌生,而且我无法在任何地方找到答案。

在我正在编写的应用程序中,我想在用户按下特定按钮时播放声音文件。我为此使用了 NSSound,并且在实现它时没有问题。问题是,我只知道如何通过每次按下按钮时创建一个新的 NSSound 对象来做到这一点:

这对我来说是个问题,因为如果用户在文件完成播放之前反复单击按钮,它将创建 NSSound 的新实例,并且它们都将相互叠加播放,这是我不想要的。有没有一种方法可以在该方法之外创建 NSSound 对象,并让按钮的 IBAction 方法检查 NSSound 是否正在播放,然后再告诉它再次播放?

0 投票
2 回答
332 浏览

swift - 计算 NSSound 循环的次数(Swift)

正如标题所示,我试图弄清楚如何计算NSSound循环的次数(或者更准确地说,在每个循环的开头和/或结尾运行一个函数)。我查看了所有文档,但找不到任何东西。任何帮助将不胜感激。

更新:我试过使用func sound(sound: NSSound, didFinishPlaying aBool: Bool),但循环完成后似乎没有触发。编码:

0 投票
2 回答
557 浏览

swift - Swift NSSound 无声播放?

我在 iOS 上做了一些 Swift 和相当多的 Objective-C,但基本上没有真正的 OS X 编程,所以我没有使用NSSound. 我试图在 Swift 论坛上帮助某人,但......它不起作用。我不确定为什么。

在 Playground、Swift REPL 甚至脚本 ( #!/usr/bin/env swift) 中,我可以成功实例化一个 NSSound:

在 REPL / Playground 或从脚本打印中,我可以看到可选的内部有一个 NSSound。但是当我打电话时play(),我什么也没听到:

为什么?

这是一小段代码,看起来很简单,但显然我错过了一些东西。这没什么大不了的,因为它不是我需要的代码,但它困扰着我,因为它看起来很简单,但它不起作用。

0 投票
1 回答
152 浏览

swift - 如何检查 NSSound 是否在 Swift 中暂停

我可以使用 NSSound 快速播放声音:

如何检查它是否已暂停?

文档显示,如果播放已经暂停,则 pause() 应该返回 false,但这似乎不是这种情况,或者我做错了什么

我希望能够做到这一点:

我可以使用一些帮助来解决这个问题!谢谢!

0 投票
1 回答
293 浏览

swift - 同时播放 NSSound 更多次

我需要在函数中插入一个代码,当调用时播放声音。

问题在于该函数的调用速度比声音持续时间快,因此,声音的播放次数比函数调用的次数少。

问题是 NSSound 仅在尚未播放时才开始播放。有什么想法可以解决吗?