Кто-нибудь знает, как передавать аудио в несколько пунктов назначения AirPlay? По-видимому, это было возможно через Core Audio в какой-то момент в прошлом, но на 10.9 и 10.10 это не представляется возможным. iTunes делает это, так в чем секрет? Вот код, я попытался увидеть, если я мог бы получить эту работу:Потоковое аудио на несколько устройств AirPlay
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) массива. Так в чем секрет? Благодаря
Ну, это несчастливо, но спасибо за ответ. Если вы найдете альтернативный способ заставить это работать, я бы очень хотел услышать, как это сделать. – Lazloman