问题标签 [avaudioplayernode]

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 投票
2 回答
131 浏览

watchkit - 在 WatchKit 中重复音频(AVAudioPlayer?)?

我想在我的 Apple Watch 应用中循环播放本地音频文件。目前我正在使用 AVAudioPlayerNode 和 AVAudioEngine 效果很好,但我不知道如何循环播放声音。

我注意到我可以使用 AVAudioPlayer,它有方便的“numberOfLoops”,但由于某种原因,AVAudioPlayer 不能在手表上工作。我不知道为什么。

这是我当前播放声音的代码:

这是我尝试用于 AVAudioPlayer 的代码,但不起作用:

我正在使用 WatchKit 5.0(+)。

0 投票
1 回答
980 浏览

swift - AVAudioPlayerNode 不播放声音

AudioPlayerNode是一个实例变量代码如下:

由于某种原因,最终播放的文件只是一个点击声。音频文件是一个 1 秒长的文件,由一位女士说话。

似乎播放器通过声音文件加速,因此模糊了语音。采样率为 44100。在 Stack Overflow 上阅读有很多解决方案都在谈论在声音文件完成之前释放音频播放器。

但是我已经在通过 Raywenderlich 教程构建的单独应用程序上进行了测试:https ://www.raywenderlich.com/5154-avaudioengine-tutorial-for-ios-getting-started ,它实际上显示了声音文件的长度和播放进度. 一切似乎都很好,但即便如此,音频文件也无法正常播放。

我的实现有问题还是音频文件有问题?音频文件在 iTunes 上播放良好。

0 投票
1 回答
303 浏览

ios - AVFoundation 位置音频在 iOS 设备上不起作用

我正在尝试使用AVAudioEngine和在 Swift iOS 应用程序中播放位置音频AVAudioEnvironmentNode。我可以成功地很好地播放音频并听到它空间化的声音,在立体声输出之间切换,但只能在模拟器中。当我在 iPhone 上运行相同的应用程序时,音频会在双耳中播放,而不是在源移动时平移。我需要做一些特殊的配置吗,比如手动处理设备音频输出?

我像这样初始化音频引擎和播放器:

我的源文件是单声道.wav

在未来的某个时候,我会改变玩家的位置:

这应该只(或大部分)在一只耳朵上播放。在 iOS 模拟器中运行时,它完全符合我的预期。但是,在实际设备上,无论player.position设置什么,它都只会在双耳中均匀播放。我怀疑它与audioEngine.

想法?

0 投票
0 回答
199 浏览

ios - AVAudioPlayerNode 不断重复声音

我目前正在创建一个音乐应用程序,并将允许用户更改播放声音的音高和速度。我使用按钮作为声音启动器,每次按下按钮时,都会开始播放相应的声音。

这是我当前的代码:

这段代码的重点是根据用户按下的按钮的标签来获取播放哪个音轨。我遇到的问题是,每次按下按钮时,它都会播放声音,但它会无限期地播放声音,即使实际的 .mp3 文件只有 2 秒长。我不确定我做错了什么。我不认为我做错了什么,我觉得我只是没有正确设置一些值。

感谢所有帮助!先感谢您!

0 投票
0 回答
260 浏览

ios - 如何通过 AvAudioPlayer 节点使用 AvAudiounit 功能,例如低通和时间延迟

我正在使用 Apple 的 AudioEngine,并且可以使用 AvAudioPlayerNode 播放声音。问题是当我尝试添加任何功能(例如低通滤波器甚至时间延迟)时,它不会影响我的播放器。如何使这些效果影响 AvAudioPlayerNode。

我创建了不同的单元并将它们连接到引擎,然后连接到主混音器,但仍然没有成功。我也一直绕过假,仍然没有解决方案。

我也试过这个,但没有修复。

我想要效果来操纵玩家的声音。

0 投票
1 回答
290 浏览

swift - Swift:断开 AVAudioUnit 与播放 AVAudioEngine 的连接

在某些时候,我正在播放带有一些效果的音频文件。这是代码:

我想要的是在AVAudioUnit发生特定操作时断开其中一个。但是,移除AVAudioUnit播放器后,播放器完全静音。

例如,如果我想删除reverb代码是:engine.disconnectNodeOutput(reverb) 但是在这行运行之后,播放器是静默的。

我做错了什么?我只是想删除已经添加的效果之一。

0 投票
1 回答
897 浏览

ios - Swift:尝试使用 UISlider 在 AVAudioPlayerNode 中控制时间

我正在使用AVAudioPlayerNode附加到一个AVAudioEngine来播放声音。

要获得我正在这样做的玩家的当前时间:

我有一个滑块,指示音频的当前时间。当用户更改滑块值时,.ended我必须将播放器的当前时间更改为滑块中指示的时间。为此:

但是,我的函数seekTo无法正常工作(我在函数之前和之后打印 currentTime,它始终显示负值 ~= -0.02)。我做错了什么,我能找到一种更简单的方法来更改播放器的 currentTime 吗?

0 投票
1 回答
272 浏览

swift - 如何在当前循环结束时停止设置为无限循环的avaudioplayernode

我使用AVAudioPlayerNode循环播放缓冲区中的音频文件,并且需要能够在用户单击下一步时切换到下一个曲目,但在循环结束时切换,而不是在用户单击下一步时切换

这是我用来开始播放的代码

0 投票
1 回答
134 浏览

objective-c - Objective-C:从 AVAudioEngine 中的 floatChannelData 获取 0

我使用AVAudioEngine以下代码从麦克风中列出:

然后当你看到传递缓冲区时,我进入了一个名为normalize:

现在,我只想打印floatChannelData. 问题是它总是打印 0。所以缓冲区的所有值都是 0。为什么会这样?这些值不应该随着麦克风接收到的声音的变化而变化吗?

0 投票
0 回答
213 浏览

ios - AVAudioPlayerNode 取消预定

AVAudioPlayerNode stop() 函数“清除所有节点之前安排的事件并停止播放。”

需要在不停止播放器的情况下清除所有先前安排的节点。任何想法 ?