Java android-使用VideoView的多个实例时出错

Java android-使用VideoView的多个实例时出错,java,android,android-mediaplayer,android-videoview,Java,Android,Android Mediaplayer,Android Videoview,我想要一个以线性布局显示两个(或更多)视频视图的活动 使用带有本地文件的videoview作为数据源一切正常,但使用逐流视频rtsp我有一个Mediaplayer错误代码,如(1,1),通常第一个视频显示正确,第二个显示错误 我一次一个地尝试两个流,它们工作正常,所以没有格式错误 我读了一些关于mediaplayer()资源发布的内容,但我需要显示每个实时视频 这是我的活动中的代码: try{ videoView = (VideoView) findViewById(R.id.vi

我想要一个以线性布局显示两个(或更多)视频视图的活动

使用带有本地文件的videoview作为数据源一切正常,但使用逐流视频rtsp我有一个Mediaplayer错误代码,如(1,1),通常第一个视频显示正确,第二个显示错误

我一次一个地尝试两个流,它们工作正常,所以没有格式错误

我读了一些关于mediaplayer()资源发布的内容,但我需要显示每个实时视频

这是我的活动中的代码:

   try{
    videoView = (VideoView) findViewById(R.id.videoView1);
    Uri video = Uri.parse(urlVideo+"1"); 
    videoView.setVideoURI(video);
    videoView.start();

    videoView2 = (VideoView) findViewById(R.id.videoView2);
    Uri video2 = Uri.parse(urlVideo+"0");
    videoView2.setVideoURI(video2);
    videoView2.start();
}
catch (Exception e) { 
    e.printStackTrace(); 
}
这是logcat上的完全错误:

    01-14 10:57:26.627: I/Crayon_Player(148): <== setDataSource(rtsp://192.168.4.125:554/0)
01-14 10:57:26.627: V/MediaPlayerService(148): [200] setVideoSurfaceTexture(0x1b808e0)
01-14 10:57:26.627: I/Crayon_Player(148): ==> setVideoSurfaceTexture(0x1b808e0)
01-14 10:57:26.627: I/RTSPEngine(148): @@@VOLOG Info THD 019EBA08:    utility.cpp  MakeLog  990    2419010028 DESCRIBE rtsp://192.168.4.125:554/1 RTSP/1.0

01-14 10:57:26.627: I/RTSPEngine(148): CSeq: 1

01-14 10:57:26.627: I/RTSPEngine(148): Accept: application/sdp

01-14 10:57:26.627: I/RTSPEngine(148): Accept-Encoding: identity

01-14 10:57:26.627: I/RTSPEngine(148): Content-Encoding: identity

01-14 10:57:26.627: I/RTSPEngine(148): Content-Language: en-US

01-14 10:57:26.627: I/RTSPEngine(148): User-Agent: Player/LG Player 1.0 for Android(stagefright alternative)

01-14 10:57:26.627: I/RTSPEngine(148): 

01-14 10:57:26.627: I/RTSPEngine(148): @@@VOLOG Info THD 019EBA08:    utility.cpp  MakeLog  990    2419010028 

01-14 10:57:26.627: I/Crayon_Player(148): <== setVideoSurfaceTexture(0x1b808e0) return=0
01-14 10:57:26.627: V/MediaPlayerService(148): [200] setVideoSurfaceTexture(0x18fb118)
01-14 10:57:26.627: V/MediaPlayerService(148): [200] setAudioStreamType(3)
01-14 10:57:26.627: V/MediaPlayerService(148): [200] prepareAsync
01-14 10:57:26.627: I/Crayon_Player(148): ==> prepareAsync
01-14 10:57:26.627: I/Crayon_Player(148): <== prepareAsync return=0
01-14 10:57:26.627: I/CrayonGraph-PlayerOMX(148): [SetURL] url=rtsp://192.168.4.125:554/0
01-14 10:57:26.627: E/CRTSPSource(148): @@@VOLOG Error THD 019ECCC8:   CRTSPSource.cpp  LoadSource  247    The RTSP Source didn't close correctly!
01-14 10:57:26.627: E/voCOMXFileSource(148): @@@VOLOG Error THD 019ECCC8:   voCOMXFileSource.cpp  LoadFile  1010    m_pSource->LoadSource was failed. 0X80000007
01-14 10:57:26.627: W/CrayonGraph-Base(148): [setParameter] comp=OMX.VisualOn.FileSource, paramIndex=0x100000d, pData=0x1915120, eRet = 0x80001001 
01-14 10:57:26.627: E/CrayonGraph-PlayerOMX(148): [setURI] OMX_IndexParamContentURI fail 1
01-14 10:57:26.627: E/CrayonGraph-PlayerBuilder(148): setURI fail 1
01-14 10:57:26.627: E/Crayon_PlayerEngine(148): ERROR!! notifyListener_l msg[100] ext1[1] ext2[1]
01-14 10:57:26.627: V/MediaPlayerService(148): [200] notify (0x190da70, 100, 1, 1)
01-14 10:57:26.627: E/MediaPlayer(31866): error (1, 1)
01-14 10:57:26.627:I/Crayon_播放器(148):setVideoSurfaceTexture(0x1b808e0)
01-14 10:57:26.627:I/RTSPEngine(148):@@@VOLOG Info THD 019EBA08:utility.cpp MakeLog 990 2419010028描述rtsp://192.168.4.125:554/1 RTSP/1.0
01-14 10:57:26.627:I/RTSPEngine(148):CSeq:1
01-14 10:57:26.627:I/RTSPEngine(148):接受:应用程序/sdp
01-14 10:57:26.627:I/RTSPEngine(148):接受编码:标识
01-14 10:57:26.627:I/RTSPEngine(148):内容编码:标识
01-14 10:57:26.627:I/RTSPEngine(148):内容语言:en-US
01-14 10:57:26.627:I/RTSPEngine(148):用户代理:适用于Android的Player/LG Player 1.0(stagefright替代方案)
01-14 10:57:26.627:I/RTS发动机(148):
01-14 10:57:26.627:I/RTSPEngine(148):@@@VOLOG Info THD 019EBA08:utility.cpp MakeLog 990 2419010028
01-14 10:57:26.627:I/蜡笔播放器(148):准备同步

01-14 10:57:26.627:I/Crayon_Player(148):我没有看到一个设备可以支持超过4个并发活动的VideoView实例(或meadia Player、stagefright或OpenMAX)。如果您的CPU足够强大,您应该使用软件解决方案(ffmpeg或gstreamer)。

我已经在我的Lg L9上测试了此代码,在非品牌手机(中文克隆)上使用相同的代码,它可以工作!!这款手机的内存是2gb,而lg l9只有1gb,android的版本也不同。这可能是硬件问题?我尝试使用不同的手机,但只有LG不工作,应用程序崩溃,因为第二流。