java - Android library to stream local stored audio via RTP -


is possible transmit local stored audio file (e.g. mp3) via rtp? e.g. there mp3 file taken input , converted/packed rtp packets , send on network. there libraries, solutions, examples?

thanks!

//edit: want make phone call sip , send/stream local stored audio file called, can hear it.

check possible webrtc solutions in section 5.... have not worked sounds tailor made trying do. maybe use ondello api.

or

you have build session sip/rtp connection , providing backdoor (jni , native code) buffer receives microphone raw stream or output buffer microphone raw stream encoded to... doing load rtp stream on sender side prerecord audio.

with access buffer, in middle of sip session, can xcopy in-memory version of audio file, swapping stream sip call. party @ other end of call hear audio audio file not microphone content.

if not success w/ sip/rtp apis, check java networking lib allows build sip connections ground , swap buffers in manner want.

https://github.com/brunodecarvalho/efflux

see answer on thread

option 2, client server ( no jni native code req'd here )

upload audio sender , serve server rtsp receiver. youtube video used ( still may ) encoded rtsp clients , pretty known server-to-android-media-player scenario. believe sdp description of such file , log of session...

d/chooseit( 6854): session descriptor d/chooseit( 6854): v=0 d/chooseit( 6854): o=googlestreamer 1263099257 1890734730 in ip4 74.125.213.247 d/chooseit( 6854): s=video d/chooseit( 6854): c=in ip4 0.0.0.0 d/chooseit( 6854): b=as:51 d/chooseit( 6854): t=0 0 d/chooseit( 6854): a=control:* d/chooseit( 6854): a=range:npt=0-63.800000 d/chooseit( 6854): m=video 0 rtp/avp 98 d/chooseit( 6854): b=as:39 d/chooseit( 6854): a=rtpmap:98 h263-2000/90000 d/chooseit( 6854): a=control:trackid=0 d/chooseit( 6854): a=cliprect:0,0,144,176 d/chooseit( 6854): a=framesize:98 176-144 d/chooseit( 6854): a=fmtp:98 profile=0;level=10 d/chooseit( 6854): m=audio 0 rtp/avp 99 d/chooseit( 6854): b=as:12 d/chooseit( 6854): a=rtpmap:99 amr/8000/1 d/chooseit( 6854): a=control:trackid=1 d/chooseit( 6854): a=fmtp:99 octet-align d/chooseit( 6854): got response: d/chooseit( 6854): rtsp/1.0 200 ok d/chooseit( 6854): content-type: application/sdp d/chooseit( 6854): cache-control: must-revalidate d/chooseit( 6854): date: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): expires: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): last-modified: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): content-base: rtsp://v8.cache8.c.youtube.com/cigleny73wiahwlcw_gs85ouchmydsanfeggugx1c2vyx3vwbg9hzhmm/0/0/0/video.3gp/ d/chooseit( 6854): cseq: 0 d/chooseit( 6854): server: google rtsp 1.0 d/chooseit( 6854): content-length: 406 d/chooseit( 6854): d/chooseit( 6854): request: d/chooseit( 6854): describe rtsp://v8.cache8.c.youtube.com/cigleny73wiahwlcw_gs85ouchmydsanfeggugx1c2vyx3vwbg9hzhmm/0/0/0/video.3gp rtsp/1.0 d/chooseit( 6854): cseq: 0 d/chooseit( 6854): accept: application/sdp d/chooseit( 6854): user-agent: rtspclientlib/java d/chooseit( 6854): d/chooseit( 6854): got response: d/chooseit( 6854): rtsp/1.0 200 ok d/chooseit( 6854): session: 328393bf;timeout=90 d/chooseit( 6854): transport: rtp/avp;unicast;mode=play;client_port=49060-49061;server_port=10580-10581;source=74.125.213.247;ssrc=55922c32 d/chooseit( 6854): cache-control: must-revalidate d/chooseit( 6854): date: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): expires: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): last-modified: wed, 28 sep 2011 17:27:22 gmt d/chooseit( 6854): cseq: 1 d/chooseit( 6854): server: google rtsp 1.0 d/chooseit( 6854): d/chooseit( 6854): request: d/chooseit( 6854): setup rtsp://v8.cache8.c.youtube.com/cigleny73wiahwlcw_gs85ouchmydsanfeggugx1c2vyx3vwbg9hzhmm/0/0/0/video.3gp/trackid=1 rtsp/1.0 d/chooseit( 6854): cseq: 1 d/chooseit( 6854): transport: rtp/avp;unicast;client_port=49060-49061 d/chooseit( 6854): user-agent: rtspclientlib/java d/chooseit( 6854): d/chooseit( 6854): using client ip addr 192.168.1.125 d/chooseit( 6854): remote ssrc 1435642930 d/chooseit( 6854): raw parms 49060 10580 74.125.213.247 d/chooseit( 6854): session: 328393bf d/chooseit( 6854): transport: client_port=49060-49061 server_port=10580-10581 source=74.125.213.247 ssrc=55922c32 d/chooseit( 6854): got response: d/chooseit( 6854): rtsp/1.0 200 ok d/chooseit( 6854): session: 328393bf;timeout=90 d/chooseit( 6854): range: npt=0.000-63.800 d/chooseit( 6854): rtp-info: url=rtsp://v8.cache8.c.youtube.com/cigleny73wiahwlcw_gs85ouchmydsanfeggugx1c2vyx3vwbg9hzhmm/0/0/0/video.3gp/trackid=1;seq=9498;rtpt ime=958652148 d/chooseit( 6854): cseq: 2 d/chooseit( 6854): server: google rtsp 1.0 d/chooseit( 6854): d/chooseit( 6854): request: d/chooseit( 6854): play rtsp://v8.cache8.c.youtube.com/cigleny73wiahwlcw_gs85ouchmydsanfeggugx1c2vyx3vwbg9hzhmm/0/0/0/video.3gp rtsp/1.0 d/chooseit( 6854): cseq: 2 d/chooseit( 6854): session: 328393bf;timeout=90 d/chooseit( 6854): range: npt=0.000- d/chooseit( 6854): user-agent: rtspclientlib/java 

Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -