Воспроизведение аудио с iPhone в наушниках - PullRequest
2 голосов
/ 03 февраля 2010

Как мы можем воспроизводить звук с помощью наушников из приложения. Звук воспроизводится так, как будто кто-то говорит на другом конце телефона.

Спасибо

Ответы [ 2 ]

5 голосов
/ 20 февраля 2010

Похоже, что вы ищете это: (из документации Apple )

Переопределение маршрута категории аудио сеанса

Указывает, следует ли переопределить аудио маршрут по умолчанию для категории PlayAndRecord.

enum {
   kAudioSessionOverrideAudioRoute_None    = 0,
   kAudioSessionOverrideAudioRoute_Speaker = 'spkr'
};

Константа

kAudioSessionOverrideAudioRoute_None

Указывает для категории kAudioSessionCategory_PlayAndRecord, что выходной звук должен поступать на ресивер. Это выходной аудио маршрут по умолчанию для этой категории.

kAudioSessionOverrideAudioRoute_Speaker

Указывает, для категории kAudioSessionCategory_PlayAndRecord, что выходной звук должен поступать на динамик, а не на ресивер.

Обсуждение Категория kAudioSessionCategory_PlayAndRecord поддерживает одновременный ввод и вывод. Вы можете использовать эту категорию, например, чтобы добавить эффект к звуку, поступающему в микрофон iPhone. По умолчанию выходной аудиосигнал для этой категории поступает на ресивер - динамик, который вы подносите к уху во время телефонного звонка. Константа kAudioSessionOverrideAudioRoute_Speaker позволяет направлять выходной аудиосигнал на динамик, расположенный в нижней части телефона.

0 голосов
/ 29 апреля 2012

Чтобы добавить к вышесказанному, есть также более постоянное решение kAudioSessionProperty_OverrideCategoryDefaultToSpeaker согласно этому Apple Doc .

Quoth они:

Напротив, kAudioSessionProperty_OverrideCategoryDefaultToSpeaker изменяет поведение маршрутизации категории kAudioSessionCategory_PlayAndRecord, так что звук всегда будет направляться на динамик, а не на приемник, если не используются другие аксессуары, такие как наушники.

для справки, вот фактический код

UInt32 doChangeDefaultRoute = 1;        
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...