问题标签 [audiosession]
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.
ios - 将 AudioUnit 回调与 NSOutputStream 同步
我正在使用音频单元录制音频,然后将该数据写入一个 NSOutputStream,它是我用来通过 HTTP 发布该数据的绑定对的一部分。我的问题是音频单元录制回调和 NSOutputStream hasSpaceAvailable 回调完全相互独立,所以我很快就会遇到缓冲区不足。有没有办法同步这两者或将录音回调直接映射到 NSOutputStream?
ios - iOS 核心音频生命周期 - AVAudioIONodeImpl.mm:365 - 必需条件为 false:hwFormat
我正在开发一个 iOS 应用程序,它由 2 个主要模块组成:一个基于 Core Audio 的音频分析模块和一个使用 AudioKit 的输出模块。
这是音频输入类:
这是输出类:
如您所见,音频输入和输出由 2 个不同的类管理。
我遇到的问题是,如果我执行以下步骤:1)初始化播放器并录制 -> 停止它 2)播放输出 -> 停止它 3)重新初始化播放器
在第三步我有这个例外:
有人知道它与什么有关吗?AudioKit <-> Core Audio 是否存在生命周期问题?
android - 获取当前活动的 AudioSessions 或 AudioOutput
我正在尝试使用Visualizer Class创建一个 Visualizer 。文档说使用“0”作为会话 id 来获取音频输出,但这似乎已被弃用,只会导致错误。
我搜索了获取当前活动的 AudioSession ID 的方法,但找不到任何可以远程帮助我的方法。所有示例仅提供有关如何自己播放音乐的信息,但我想用它来可视化 Spotify 和正在播放的其他音乐或视频,所以这不是我的选择。
我知道这是可能的。有像 HueManic 这样的应用程序完全可以正常工作。我只是找不到任何关于它如何仍然可能的信息。
ios - 使用 airpod 麦克风捕获蓝牙音频
如何设置音频会话类别,以便外部蓝牙 airpod 设备可以使用 airpod 麦克风录制音频,并且也可以与其他蓝牙设备流畅地工作。这是我的代码。
ios - setPreferredInput WithBlueTooth 不工作
我正在尝试将蓝牙设备设置为 audioSession 中的首选输入。
这是我的代码:
我有这个标志:
2019-01-11 17:59:51.400283+0800 ychaoyun[4196:1228652] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: 端口 h.ear (MDR-EX750BT) 的未知选定数据源(类型:BluetoothHFP)
2019-01-11 17:59:51.400381+0800 ychaoyun[4196:1228652] 1111111111 avsession desportDesc =
2019-01-11 17:59:51.410321+0800 ychaoyun[4196:1228652] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: 端口 h.ear (MDR-EX750BT) 的未知选定数据源(类型:BluetoothHFP)
2019-01-11 17:59:51.410357+0800 ychaoyun[4196:1228652] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: 未知选择的端口 h.ear 数据源 (MDR-EX750BT) (类型: BluetoothHFP)
2019-01-11 17:59:51.410447+0800 ychaoyun[4196:1228652] ret = 1 当前路线 = " ); 输出 = ( "" )>
显示连接蓝牙设备成功。但我只能听到一些噪音。然后转为静音。只有一个人面临同样的问题吗?我该如何解决?
windows - 如何确定哪个 Windows 进程是管理当前进程输出的“音频会话”?
我碰巧在这里使用 Python 绑定,但我怀疑问题以及最终的答案不是 Python 特定的。
在 Windows 10 上,使用Python 绑定到 Windows 核心音频库,特别pycaw.AudioUtilities.GetAllSessions()
是'conhost.exe'
通过我当前进程的音频和 (b) 对应于 Windows 10 音量混合器中的“控制台窗口主机”滑块。这是我想从我的程序中操作的,并pycaw
提供绑定来做到这一点。
到目前为止,一切都很好。我的问题是我看不到任何从当前进程 ID 向后工作的方法,因此,在下一次启动时,我的程序可以询问“哪个进程对应于管理我的音频输出的会话?” 我天真地期望该会话 pid 可能出现在当前进程的祖先中,但它没有:
我应该如何查询控制当前进程的音频会话的 pid?(我认为会话不会总是被命名'conhost.exe
——有时我会pythonw.exe
在没有控制台的情况下运行相同的代码。)
ios - 如何在 Swift 中停止(或暂停)设备的音频?
我正在制作一个音乐计时器,它将在输入时间后停止音乐(从 Spotify、Apple Music 等播放)。有没有办法停止该音频会话或暂停正在从我的应用程序的另一个应用程序播放的音频?
由于我的应用程序中没有本地音频播放器,因此我不能简单地停止播放器(就像从应用程序播放音频时通常那样)。
任何帮助表示赞赏!
android - 从 Google Meet 获取音频会话 ID
我在玩DynamicsProcessing
。我想处理来自外部应用程序的音频。我只需要audioSessionId
那个。例如,我对Play Music没有任何问题。我用过BroadCastReceiver
聆听android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION
,一切都像魅力一样。
挑战在于何时我想对Google Meet做同样的事情。我不知道如何从应用程序获取会话 ID。但我知道这是可能的,因为如果我在 Logcat 上查找它,我可以直接看到它:
如果我session ID
手动传递(audioSessionId),我已经检查过它是否有效。
我怎样才能从应用程序中做到这一点?
太感谢了!!:-)
ios - 录制时播放音频会降低音量
我使用 audiounit 录制语音并使用 audioqueue 播放音频数据。当我设置:
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
播放音频的音量将非常低。但是当我设置时:
[session setCategory:AVAudioSessionCategoryMultiRoute error:&error];
虽然音量会正常。但是iOS麦克风输出的音频数据不会一样长。使用前一种设置,audiodata长度将为4096,但后者将输出3760和3764的长度。这将导致我在对audiodata进行编码时崩溃。
我找到解决方案说我应该在打开录音机之前打开音频播放器,然后问题就解决了。不幸的是,我必须先打开录音机。所以我不知道如何设置音频会话我可以得到一个很大的音量和相同长度的音频数据。
swift - 如何使用 Sinch SDK 以编程方式更改通话音量?
目前,当我调用并尝试使用 UI 元素更改音量时,我只看到 UI 发生变化,音量滑块发生变化,但没有看到设备音量。音量是静态的。对于音量更改,我正在使用 MPVolumeView
对于呼叫:SinchRTC 和 CallKit。通话中的 AudioSession 属于 PlayAndRecord 类别和 VoiceChat 模式。