gpt4 book ai didi

macos - 将音频流式传输到多个 AirPlay 设备

转载 作者:行者123 更新时间:2023-12-04 01:28:50 26 4
gpt4 key购买 nike

任何人都知道如何将音频流式传输到多个 AirPlay 目的地?显然,这在过去的某个时候可以通过 Core Audio 实现,但在 10.9 和 10.10 上,这似乎不可能。 iTunes 做到了,那么秘诀是什么?这是我尝试查看是否可以使其正常工作的一些代码:

OSStatus err = 0;
UInt32 size = sizeof(UInt32);

SSAudioSource * targetSource = airplayDevice.airplaySources[0];
AudioDeviceID airPlayDeviceID = targetSource.deviceID;
SSAudioSource * source1 = airplayDevice.airplaySources[0];
SSAudioSource * source2 = airplayDevice.airplaySources[1];
SSAudioSource * source3 = airplayDevice.airplaySources[2];

AudioDeviceID alldevices[] = {source3.sourceID, source2.sourceID, source1.sourceID};
AudioObjectPropertyAddress addr;
addr.mSelector = kAudioDevicePropertyDataSource;
addr.mScope = kAudioDevicePropertyScopeOutput;
addr.mElement = kAudioObjectPropertyElementMaster;

// Set the 'AirPlay' device to point to all of its sources...
err = AudioObjectSetPropertyData(airPlayDeviceID, &addr, 0, nil, size, alldevices);

AudioObjectPropertyAddress audioDevicesAddress = {
kAudioHardwarePropertyDefaultOutputDevice,
kAudioObjectPropertyScopeGlobal,
kAudioObjectPropertyElementMaster
};

// ...now set the system output to point at the 'AirPlay' device
err = AudioObjectSetPropertyData(kAudioObjectSystemObject, &audioDevicesAddress, 0, nil, size, &airPlayDeviceID);

无论我如何排列阵列中的设备,声音都只会从阵列的第一个设备(索引 0)发出。那么秘诀是什么呢?
谢谢

最佳答案

我在 7 月份向 Apple 提出了一个错误报告,并在 10 月份得到了答复:

Engineering has determined that there are no plans to address this issue.



我已经回到 Apple 询问为什么删除了该功能但不希望(及时)响应。

就其值(value)而言,我认为您的方法是正确的,它类似于我过去为应用程序工作的方式。我怀疑 iTunes 使用 Audio Units 或类似的东西来做多个扬声器。

关于macos - 将音频流式传输到多个 AirPlay 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com