1

我想使用 VrVideoView 在我的 Android 应用程序中显示 VR 视频。视频通过 RTSP 协议流式传输。当我尝试将此类源添加到 VrVideoView 时,我得到了

java.net.MalformedURLException: unknown protocol: rtsp

我发现这个项目RTSP-Java-UrlConnection解决了这个异常,但显示了另一个:

ExoPlayerImplInternal:内部轨道渲染器错误。
    com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected ClassCastException: com.net.rtsp.RtspURLConnection 无法转换为 java.net.HttpURLConnection
        在 com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:262)
        在 com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:148)
        在 com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273)
        在 com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203)
        在 android.os.Handler.dispatchMessage(Handler.java:98)
        在 android.os.Looper.loop(Looper.java:148)
        在 android.os.HandlerThread.run(HandlerThread.java:61)
        在 com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
     引起:com.google.android.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected ClassCastException: com.net.rtsp.RtspURLConnection 无法转换为 java.net.HttpURLConnection
        在 com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:235)
        在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
        在 java.util.concurrent.FutureTask.run(FutureTask.java:237)
        在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
        在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        在 java.lang.Thread.run(Thread.java:818)
     原因:java.lang.ClassCastException: com.net.rtsp.RtspURLConnection 不能转换为 java.net.HttpURLConnection
        在 com.google.android.exoplayer.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:384)
        在 com.google.android.exoplayer.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:339)
        在 com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:189)
        在 com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:133)
        在 com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823)
        在 com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222)
        在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
        在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 
        在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
        在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
        在 java.lang.Thread.run(Thread.java:818) 

看起来 Google VrVideoView 只接受带有 HTTP URL 的视频。如何将 VrVideoView 与 RTPS 源一起使用?

4

1 回答 1

1

这是一个答案:

我们没有任何计划在 VR 视图中支持实时视频。不过,您可以使用较低级别的 GVR View 类滚动您自己的 360 查看器。来源:https ://github.com/googlevr/gvr-android-sdk/issues/217#issuecomment-244588848

于 2017-03-30T10:11:17.487 回答