googlevr / gvr-unity-sdk

Google VR SDK for Unity
http://developers.google.com/vr/unity/
Other
2.71k stars 1.1k forks source link

Playing video using exoplayer stored in the sdcard of the Android Phone #1041

Closed spaul13 closed 4 years ago

spaul13 commented 5 years ago

While playing a panoramic video from the sdcard on the mobile using the exoplayer under gvr-unity-sdk using panoVideoSample under the VideoDemo scene, I am getting the following error

I have specified the file path as jar:file//sdcard/viking_play/0.mp4 The video actually located in sdcard/viking_play/0.mp4

HARDWARE/SOFTWARE VERSIONS

Error: 06-27 19:37:34.267 20698-21139/? D/ObbDataSource: Open called: jar:file://sdcard/viking_play/0.mp4 Reading [null] from sdcard/viking_play/0.mp4 06-27 19:37:34.267 20698-21139/? V/zipro: Not a Zip archive 06-27 19:37:34.267 20698-21139/? D/ObbDataSource: Closing 06-27 19:37:34.267 20698-21137/? D/VideoExoPlayer: onLoadError 06-27 19:37:34.267 20698-21137/? E/VideoExoPlayer: raising exception to listeners java.io.IOException at com.google.gvr.exoplayersupport.sample.ZipResourceFile.addPatchFile(ZipResourceFile.java:260) at com.google.gvr.exoplayersupport.sample.ZipResourceFile.(ZipResourceFile.java:157) at com.google.gvr.exoplayersupport.sample.ObbDataSource.open(ObbDataSource.java:88) at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823) at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 06-27 19:37:34.273 20698-20781/? E/Unity: Exception: java.io.IOException: java.io.IOException

(Filename: ./Runtime/Export/Debug.bindings.h Line: 43)

06-27 19:37:34.278 20698-21136/? E/ExoPlayerImplInternal: Internal track renderer error. com.google.android.exoplayer.ExoPlaybackException: java.io.IOException at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:262) at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:148) at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273) at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:164) at android.os.HandlerThread.run(HandlerThread.java:65) at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) Caused by: java.io.IOException at com.google.gvr.exoplayersupport.sample.ZipResourceFile.addPatchFile(ZipResourceFile.java:260) at com.google.gvr.exoplayersupport.sample.ZipResourceFile.(ZipResourceFile.java:157) at com.google.gvr.exoplayersupport.sample.ObbDataSource.open(ObbDataSource.java:88) at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823) at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 06-27 19:37:34.281 20698-20781/? E/VideoExoPlayer: ExoPlayer error com.google.android.exoplayer.ExoPlaybackException: java.io.IOException at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:262) at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:148) at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273) at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:164) at android.os.HandlerThread.run(HandlerThread.java:65) at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) Caused by: java.io.IOException at com.google.gvr.exoplayersupport.sample.ZipResourceFile.addPatchFile(ZipResourceFile.java:260) at com.google.gvr.exoplayersupport.sample.ZipResourceFile.(ZipResourceFile.java:157) at com.google.gvr.exoplayersupport.sample.ObbDataSource.open(ObbDataSource.java:88) at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823) at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 06-27 19:37:34.282 20698-20781/? E/VideoExoPlayer: raising exception to listeners com.google.android.exoplayer.ExoPlaybackException: java.io.IOException at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:262) at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:148) at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273) at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:164) at android.os.HandlerThread.run(HandlerThread.java:65) at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) Caused by: java.io.IOException at com.google.gvr.exoplayersupport.sample.ZipResourceFile.addPatchFile(ZipResourceFile.java:260) at com.google.gvr.exoplayersupport.sample.ZipResourceFile.(ZipResourceFile.java:157) at com.google.gvr.exoplayersupport.sample.ObbDataSource.open(ObbDataSource.java:88) at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:823) at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:222) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 06-27 19:37:34.282 20698-20781/? I/VideoExoPlayer: ExoPlayer state changed false : 1 06-27 19:37:34.289 20698-20781/? E/Unity: Exception: com.google.android.exoplayer.ExoPlaybackException: java.io.IOException

Can anyone please tell me how to resolve this issue?

rusmaxham commented 4 years ago

In Unity Player Settings > Other > Configuration > Write Permission, change it to External (SD Card).

Screen Shot 2019-07-15 at 2 42 07 PM