注册OnClickListerner框架对话框按钮?

问题描述:

我正面临一个问题,我试图在Android设备中使用RTSP播放流媒体视频。我使用的是videoview,一切正常,很好。在少数设备中,此视频Feed有一些编码问题,并且无法播放。在这些情况下,视频视图会显示一个对话框,其中包含消息“对不起,播放此视频”和“确定”按钮。我想为此OK按钮注册一个OnClickListerner。我不创建这个对话框,所以我没有在我的课上有一个参考。猜猜这个对话框是一个框架。注册OnClickListerner框架对话框按钮?

我需要在这个OnclickListerner中做一些重要的操作,所以需要注册到这个对话框的OK按钮。我怎样才能做到这一点?

编辑:添加的logcat日志

你*社看到那个MediaPlayer正在显示一些错误日志的末尾。我有我的活动实现onErrorListerner,我确实将我的活动设置为videoView的onErrorListerner。 但是还是我的errorlisterner不会被调用...我希望尽快解决这个问题..任何帮助表示赞赏...

ERROR/MediaPlayer(4243): onHDMIStateChanged 
ERROR/voaEngine(64): @@@VOLOG Info THD AFD4A830: voaEngine.cpp voaInit 22 Flag: 1 
ERROR/voaEngine(64): @@@VOLOG Info THD AFD4A830: voaEngine.cpp voaSetParam 66 VOAP_IDF_onFirstRef 
ERROR/voaEngine(64): @@@VOLOG Info THD AFD4A830: voaEngine.cpp voaSetParam 70 VOAP_IDF_initCheck 
ERROR/CDllLoad(64): @@@VOLOG Info THD AFD4A830: CDllLoad.cpp LoadLib 221 Load module libvoOMXME.so! 
ERROR/voaEngine(64): @@@VOLOG Info THD AFD4A830: voaEngine.cpp voaSetParam 74 VOAP_IDF_setDataSourceURL 
ERROR/CVOMEPlayer(64): @@@VOLOG Info THD AFD4A830: CVOMEPlayer.cpp SetSource 147 Source: rtsp://a1052.l82402None.c82402.g.lq.akamaistream.net/7/1052/82402/v0001/cnbc.download.akamai.com/23727/sdp_!/apa1.sdp?auth=daEcpc4cOdnbLaAb.d_bnbMcLcwc7cFccc7-bnQmbB-bWG-QYQN&aifp=abcq&reporting=part="E*TRADE FINANCIAL"|parttype=STREAM 
ERROR/CVOMEPlayer(64): @@@VOLOG Info THD AFD4A830: CVOMEPlayer.cpp SetSource 193 Count: 1 
ERROR/voaEngine(64): @@@VOLOG Info THD 00016C08: voaEngine.cpp voaSetParam 89 VOAP_IDF_prepareAsync 
ERROR/voOMXCfg(64): @@@VOLOG Info THD 0001FF38: voCOMXBaseConfig.cpp Open 389 Read 459 bytes 
ERROR/voOMXCfg(64): @@@VOLOG Info THD 0001FF38: voCOMXBaseConfig.cpp Open 389 Read 474 bytes 
ERROR/voOMXCfg(64): @@@VOLOG Error THD 0001FF38: voCOMXBaseConfig.cpp Open 366 The config file vomeComp_RTSP.cfg could not be opened! 
ERROR/CVOMEPlayer(64): @@@VOLOG Info THD 0001FF38: CVOMEPlayer.cpp BuildGraph 387 start to build graph! 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp SetCoreFile 114 OMX Core file is libvoOMXOne.so 
ERROR/Util(64): @@@VOLOG Info THD 0001FF38: voCOMXBaseGraph.cpp OMX_mmLoadLib 194 Load libvoOMXOne.so ... 0xb0011ccc 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Warning THD 0001FF38: voCOMXCoreLoader.cpp SetCoreFile 163 m_fSetWorkingPath is 0X8121B8B8 
ERROR/voOMXCfg(64): @@@VOLOG Error THD 0001FF38: voCOMXBaseConfig.cpp Open 366 The config file vomeOne.cfg could not be opened! 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 0 Component Name is OMX.VisualOn.FileSource 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 1 Component Name is OMX.VisualOn.Audio.Decoder.XXX 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 2 Component Name is OMX.VisualOn.Audio.Sink 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 3 Component Name is OMX.VisualOn.Video.Decoder.XXX 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 4 Component Name is OMX.VisualOn.Video.Sink 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 5 Component Name is OMX.VisualOn.Clock.Time 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 6 Component Name is OMX.VisualOn.G1Video.Capture 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 7 Component Name is OMX.VisualOn.G1Audio.Capture 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 8 Component Name is OMX.VisualOn.Video.Encoder.XXX 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 9 Component Name is OMX.VisualOn.Audio.Encoder.XXX 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 10 Component Name is OMX.VisualOn.FileSink 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 11 Component Name is OMX.VisualOn.DataSource 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 12 Component Name is OMX.VisualOn.Audio.Effect 
ERROR/voCOMXCoreLoader(64): @@@VOLOG Info THD 0001FF38: voCOMXCoreLoader.cpp OMX_ComponentNameEnum 443 The 13 Component Name is OMX.VisualOn.Video.Effect 
ERROR/(64): @@@VOLOG Error THD 0001FF38: CBaseConfig.cpp Open 373 The config file vommcodec.cfg could not be opened! 
ERROR/voCOMXFileSource(64): @@@VOLOG Info THD 0001FF38: voCOMXFileSource.cpp voCOMXFileSource 86 Name OMX.VisualOn.FileSource. 
ERROR/CDllLoad(64): @@@VOLOG Info THD 0001FF38: CDllLoad.cpp LoadLib 221 Load module libHTC_mm_property.so! 
ERROR/MM_PROPERTY(64): can not match property 'rtspproxyip' 
ERROR/CDllLoad(64): @@@VOLOG Info THD 0001FF38: CDllLoad.cpp FreeLib 270 Free module libHTC_mm_property.so! 
ERROR/voStreaming(64): voStreaming Permission denied,[/data/local/visualonLog_rtsp/],create log directory fails 
ERROR/CDllLoad(64): @@@VOLOG Info THD 0001FF38: CDllLoad.cpp LoadLib 221 Load module libvoSrcRTSP.so! 
ERROR/CRTSPSource(64): @@@VOLOG Info THD 0001FF38: CRTSPSource.cpp HandleStreamEvent 554 Error Event 3002 
ERROR/CRTSPSource(64): @@@VOLOG Error THD 0001FF38: CRTSPSource.cpp LoadSource 255 VOID_STREAMING_OPENURL failed. 0X83000007 
ERROR/voCOMXFileSource(64): @@@VOLOG Error THD 0001FF38: voCOMXFileSource.cpp LoadFile 555 m_pSource->LoadSource was failed. 0X83000007 
ERROR/voCOMXCompBaseChain(64): @@@VOLOG Error THD 0001FF38: voCOMXCompBaseChain.cpp AddSource 292 ########## File Name is rtsp://..........(purposely hidden) 
ERROR/voCOMXCompBaseChain(64): @@@VOLOG Error THD 0001FF38: voCOMXCompBaseChain.cpp AddSource 306 It could not load the source component. 
ERROR/Util(64): @@@VOLOG Error THD 0001FF38: voCOMXBaseGraph.cpp Playback 782 m_pChain->AddSource! 
ERROR/CVOMEPlayer(64): @@@VOLOG Error THD 0001FF38: CVOMEPlayer.cpp BuildGraph 421 m_fAPI.Playback error 
ERROR/CVOMEPlayer(64): @@@VOLOG Error THD 0001FF38: CVOMEPlayer.cpp NotifyOpenSource 342 BuildGraph failed!. 
ERROR/MediaPlayer(4243): error (1, -1) 
ERROR/MediaPlayer(4243): Error (1,-1) 

您可以设置使用myVideoView.setOnErrorListener(...)自己MediaPlayer.OnErrorListener。 “不能播放视频”的默认对话框将不会显示,但监听器实例将允许您创建自己的AlertDialog(或任何适合您需要的内容)并处理此对话框中的任何操作。

+0

我已经添加日志到我的问题。请让我知道你的意见。 – AKh 2011-04-15 22:30:07

+0

好吧,logcat显示加载视频流时肯定有错误。但没有任何代码,我不知道为什么onErrorListener从来没有被称为... – OcuS 2011-04-18 10:20:45

+0

嗨Ocus,我现在工作。我试图实现MediaPlayerControl.onErrorListerner而不是MediaPlayer.onErrorListerner。我研究了videoview的实现并确定了我的问题......感谢您的帮助和欣赏.. :-) – AKh 2011-04-18 19:02:25