Android, телефонный звонок аудио поток через WLAN - PullRequest
4 голосов
/ 22 марта 2010

Я планирую разработать приложение для VoIP для Android.

Вот сценарий: когда происходит телефонный звонок, я хочу услышать человека, который звонит через мои локальные динамики компьютера, и я хочу поговорить с ним через мой собственный микрофон / гарнитуру компьютера. Поэтому мне нужно отправить аудиопоток обо мне и человеке, с которым я разговариваю, через сеть WLAN.

Примерно так:

...
onCallStateChanged(int state, String phoneNumber){
 while(state == PhoneListener.CALL_STATE_OFFHOOK){ //while phone call is happening
  //send incoming speech via wlan to pc
  //receive audiostream from pc microphone and direct it to the phone call
 }
}
...

Возможно ли это с текущим Android API? (На самом деле так и должно быть, так как приложения VoIP доступны на рынке) Я провел некоторое исследование в Android API, и все, что я нашел, это AudioManager с константой

public static final int  STREAM_VOICE_CALL; //The audio stream for phone calls 

Но я не знаю, как использовать его по-своему, как он должен дать мне доступ к реальным аудиопотокам, которые я могу отправить по сети. Как мне это удается?

Соединение будет осуществляться через сокеты TCP.

1 Ответ

2 голосов
/ 22 марта 2010

Вот сценарий: при телефонном звонке происходит, я хочу услышать человека, который звоню на мои локальные компьютерные колонки и я хочу поговорить с ним через мой компьютер микрофон / гарнитура. Так что мне нужно отправить аудио поток обо мне и человек, с которым я разговариваю через WLAN сеть.

Какой смысл иметь Android в миксе? Если у вас есть локальный ПК и вы хотите использовать локальный ПК для ввода / вывода звука, используйте приложение VOIP на локальном ПК.

Примерно так: onCallStateChanged () ...

Это для голосовых вызовов с использованием встроенной подсистемы телефонии (3G, CDMA и т. Д.). Это не имеет ничего общего с VOIP.

Возможно ли это с текущим Android API?

Это зависит от того, что "это". Если «это» означает «перехватить входящий телефонный вызов 3G и обработать звук вызова с помощью кода Android», то нет, это невозможно.

...