当前位置: 代码迷 >> 多媒体/流媒体开发 >> android中的视频通话:sipdroid开源软件中有视频通话功能,但是小弟我在G1上试,提示无法播放
  详细解决方案

android中的视频通话:sipdroid开源软件中有视频通话功能,但是小弟我在G1上试,提示无法播放

热度:5168   发布时间:2013-02-26 00:00:00.0
求助:android中的视频通话:sipdroid开源软件中有视频通话功能,但是我在G1上试,提示无法播放
求助:android中的视频通话问题
  在android中,有一款叫sipdroid的开源软件,其中有视频通话功能,但是我在G1手机上使用视频通话功能,却提示无法播放视频(两台都是G1手机,都装相同的sipdroid软件,对打)。里面调用的是opencore中的功能。

软件中对应的部分代码为:
if (videopacket.getPayloadLength() > 200) 
{
speakermode = Receiver.engine(mContext).speaker(AudioManager.MODE_NORMAL);
speakervalid = Receiver.ccConn.date;
Intent i = new Intent(Intent.ACTION_VIEW,  
  Uri.parse("rtsp://"+Receiver.engine(mContext).getRemoteAddr()+"
  /"+Receiver.engine(mContext).getRemoteVideo()+"/sipdroid"));
startActivity(i);
return;
}

TRACE信息如下:(其中179的IP是对方的IP)
I/ActivityManager( 93): Starting activity: Intent { act=android.intent.action.VIEW dat=rtsp://192.168.208.179/21070/sipdroid cmp=com.android.camera/.MovieView }

D/dalvikvm( 504): threadid=27 wakeup: interrupted

V/VideoView( 581): reset duration to -1 in openVideo

D/MediaPlayer( 581): Couldn't open file on client side, trying server side

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

I/ActivityManager( 93): Displayed activity com.android.camera/.MovieView: 488 ms (total 488 ms)

E/PlayerDriver( 75): Command PLAYER_INIT completed with an error or info PVMFFailure

W/PlayerDriver( 75): PVMFInfoErrorHandlingComplete

E/MediaPlayer( 581): error (1, -1)

E/MediaPlayer( 581): Error (1,-1)

D/VideoView( 581): Error: 1,-1

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

D/dalvikvm( 93): GC freed 6554 objects / 287024 bytes in 213ms

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

D/VolumePanel( 93): onVolumeChanged(streamType: 3, flags: 0)

D/VolumePanel( 93): onVolumeChanged(streamType: 3, flags: 0)

I/ActivityManager( 93): Starting activity: Intent { flg=0x10000000 cmp=org.sipdroid.sipua/.ui.InCallScreen }

E/MediaPlayer( 581): stop called in state 0

E/MediaPlayer( 581): error (-38, 0)

W/AudioFlinger( 75): AudioRecordThread: buffer overflow

W/MediaPlayer( 581): mediaplayer went away with unhandled events

D/VolumePanel( 93): onVolumeChanged(streamType: 2, flags: 0)

但是,如果用G1手要跟PC上的Linphone软件发打视频电话,PC上的linphone软件是可以收到G1手机的视频的。
并且,如果把代码中的 
Uri.parse("rtsp://"+Receiver.engine(mContext).getRemoteAddr()+"
  /"+Receiver.engine(mContext).getRemoteVideo()+"/sipdroid"));
替换为:
Uri.parse("rtsp://192.168.208.78/test.3gp");//rtsp://192.168.208.78/test.3gp是流媒体服务器上的一个视频。
时,可以正常播放这个视频。

大家说说,这是什么问题啊?
之前没有做过这一块,这样的问题,应该从哪入手呢?

网上有个人回应说:
in opencore, rtsp isnt support by default. you need to 
#define BUILD_STREAMING_MANAGER_NODE 1 in pv_config.h to enable this function
in opencore build. this issue has nothing to do with sipdroid

但是我用android 1.6的版本,加上这个宏重编了一下,问题依旧存在。。。

请大家帮帮忙出出主意,谢谢。。。。

------解决方案--------------------------------------------------------
楼主解决了吗?我也碰到这问题
------解决方案--------------------------------------------------------
自己实现吧,有开源的软件供你参考就不错了,别挑这挑那了;
------解决方案--------------------------------------------------------
我完全外行,但是提些我的想法,望指正。
(1)中国移动的网络内的2台手机是不能直接通信的,需服务器中转
(2)是否考虑视频流的技术。
------解决方案--------------------------------------------------------
关注!
------解决方案--------------------------------------------------------
  相关解决方案