问题标签 [finch]

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 投票
5 回答
9720 浏览

iphone - 你用什么在 iPhone 游戏中播放声音?

我有一个性能密集型的 iPhone 游戏,我想添加声音。似乎有大约三个主要选择:(1)AVAudioPlayer,(2)音频队列和(3)OpenAL。我讨厌写几页低级代码只是为了播放示例,所以我想使用AVAudioPlayer. 问题是它似乎扼杀了性能——我已经做了一个简单的测量CFAbsoluteTimeGetCurrentplay消息似乎需要 9 到 30 毫秒才能完成。考虑到 25 ms == 40 fps,这非常悲惨。

当然,有一种prepareToPlay方法可以加快速度。这就是为什么我编写了一个简单的类,它保留了几个AVAudioPlayers 供其使用,预先准备好它们,然后使用准备好的播放器播放样本。没有雪茄,仍然需要我上面提到的约 20 毫秒。

这样的性能对于游戏来说是无法使用的,那么你用什么来在 iPhone 上播放性能不错的声音呢?我做错了AVAudioPlayer什么吗?您是否使用音频队列播放声音?(在 2.2 发布之前,我已经写过类似于 AVAudioPlayer 的东西,我很乐意保留这种经验。)你使用 OpenAL 吗?如果是,是否有一种简单的方法可以使用 OpenAL 播放声音,或者您是否必须编写代码页?


更新:是的,用 OpenAL 播放声音相当简单


0 投票
1 回答
968 浏览

iphone - 如何在 OpenAL 中测量/平均峰值功率电平?

我正在使用 Finch 声音引擎从 AVAudioPlayer 切换到 OpenAL。我需要进行计量,即获得平均峰值电平。Finch 声音引擎不提供此功能,我对 OpenAL 完全陌生。我怎样才能做到这一点?任何示例将不胜感激。

0 投票
1 回答
503 浏览

iphone - iPhone 的 Finch 音频库能做到这一点吗?

我需要:

我想/愿意/很高兴必须:

芬奇是我最好的朋友吗?

0 投票
1 回答
177 浏览

iphone - 当我使用 Finch 播放音频时,我真的可以做 OpenAL 能做的所有事情吗?

当我使用 Finch 播放音频时,我真的可以做 OpenAL 能做的所有事情吗?

0 投票
1 回答
371 浏览

iphone - 在 openAL 或 Finch 中播放时如何控制特定声音的播放音量?

我可能同时播放多个声音,其中一些声音比其他声音更大或更安静。因为我很懒,对音频编辑工具了解不多,我只想以编程方式调整声音的音量,以便它们都能很好地匹配。我相信 winamp 会做类似的事情,他们称之为“标准化”。所以你播放你的播放列表,不要一直生气,因为一首音乐突然变得如此安静以至于你必须站起来拉高音量,而下一首歌太响以至于你的窗户爆炸并且你的耳朵变得残废. 你知道我的意思......所以我需要分别调整每个小声音文件的音量;-)

如何?

0 投票
2 回答
244 浏览

iphone - 如果我想每秒播放相同的声音 10 次,我必须在内存中有 10 个该声音的副本吗?

我有一个需要每秒播放 10 次的声音。声音为 1 秒长。所以它确实重叠了10次。但是,据我了解 Finch 声音库,我需要 10 个不同的声音实例,以便我可以几乎同时播放 10 次。

当我只有一个实例时,声音会在每次迭代时停止并从头开始播放,但不会与自身重叠。

怎么做?

0 投票
1 回答
942 浏览

iphone - 如何使用 OpenAL 或 Finch 多次重叠播放相同的声音?

Finch 使用 OpenAL。但是,当我有一个 Sound 实例并说 -play 时,声音就会播放。当我以快节奏的方式一个接一个地调用 -play 时,每次 -play 都会使该声音的当前声音播放停止并重新启动。

那不是我想要的。我是否必须创建多个源或缓冲区才能使其正常工作?还是我只是用同一个文件实例化多个声音?

0 投票
1 回答
807 浏览

audio - 第一次使用芬奇。如何播放 mp3、ogg 或其他格式(wav 文件到大)?

我的 *.wav 的工作符合预期。但是 wav 文件太大了,所以我想播放 *.mp3 或 *.ogg 但它不起作用。

我使用在 finch Demo 项目中找到的这行代码

所以我只将sitar.wav 更改为我的.mp3 文件名。

注1: 不能是mp3或ogg,任何文件格式不如wav大都可以,但是哪个?

注意2: 我不知道如何使用声音,所以我在stackoverflow上搜索并找到了finch。它看起来很简单,所以我想使用它,但是如果您知道其他一些简单的方法来播放该声音文件(带有压缩编解码器的环境 + 效果声音),我也会切换到其他技术。

0 投票
1 回答
258 浏览

iphone - Finch 演示的分发构建以 GCC 错误结束

感谢 zoul 分享他的开放式 avaudioplayer 替代品!!这正是我需要的,

这是我的问题.. 我无法构建没有获得一般 gcc-4.2 的发行版构建失败,错误代码为 1,

我在 finch 演示项目中构建了我的代码,并认为这可能是我所做的。

所以我重新下载了演示......重复发布,重命名发行版和同样的东西......

知道我错过了什么吗?

谢谢!!


在设备 3.0 发行版中构建了干净的 finch 演示,它适用于设备调试,所以我认为代码设计还可以

- 这是错误代码:

0 投票
1 回答
188 浏览

audio - 添加了 AudioFileClose 以防止文件句柄用完

我在使用 Finch 时遇到了问题 - 我再次打开并释放了很多声音文件,项目声音中的某个特定点将停止加载 - 错误代码形式 ALOpenFileFromURL... 是 43 - 找不到文件...我的解决方案最后是通过将 AudioFileClose(并记录 fileId)添加到 Sound.m 中的 dealloc 来确保文件已关闭......我的解决方案可能并不优雅,也可能很天真,但现在似乎可以工作 - 所以我想我会发布以防它对其他人有帮助

谢谢,罗斯