Я работаю над приложением, которое включает запись звука на одном устройстве и воспроизведение его на другом устройстве, подключенном через сокетное соединение.
Я использую Audioqueues для записи данных на одно равноправное устройство и потоковой передачи этогоданные OTA, как в примере SpeakHere.
Я пытаюсь воспроизвести эти данные на принимающем устройстве, используя AudioFileStream и AudioQueue на другом конце, чтобы воспроизвести их, как в примере AudioStreamer Мэтта Галлахера.
Возвращается вызов AudioFileStreamParseBytes"pty?"ошибка.Следовательно, ни один из обратных вызовов, связанных с этим вызовом (для свойств и аудиопакета), не вызывается.
Существует множество примеров кода для потоковой передачи mp3, HTTP-потоков и т. Д. В Интернете.Однако, если я хочу транслировать аудио, записанное с помощью AudioQueue, есть ли что-то, что я мог бы упустить?Возможно, что-то связано со свойствами AudioQueue?
Может ли кто-нибудь также предложить способ проверить, являются ли полученные мной данные действительно аудиоданными?
Небольшой фрагмент кода:
void AQPlayer::StreamDataAvailable(MediaPacket* packet)
{
OSStatus err = 0;
err = AudioFileStreamParseBytes(mAudioFileStream, packet->msizeInBytes, packet->mVoiceData, 0);
if (err)
{
NSLog(@"AudioFileStreamParseBytes Error");
}
}
Кроме того, я уже проверил, что packet-> mVoiceData имеет около 44 Кбайт данных (хотя не уверен, что это разумные данные) и что package-> msizeInBytes отражает это число.
Любая помощь приветствуется.Спасибо!