2014-03-31 4 views
4

Я пытаюсь воспроизвести локальное видео (mp4) в Google Glass с помощью VIDEOPLAYER.Воспроизведение локального видео на стекле

Мой код:

Intent i = new Intent(); 
i.setAction("com.google.glass.action.VIDEOPLAYER"); 
i.putExtra("video_url", "android.resource://" + getPackageName() +"/"+R.raw.close_upper_case_mp4); 
startActivity(i); 

Когда я запускаю код (на "startActivity (I)"), я получаю:

java.lang.NullPointerException 
at org.eclipse.debug.internal.ui.DebugUIPlugin.launchInBackground(DebugUIPlugin.java:1257) 
at org.eclipse.debug.ui.DebugUITools.launch(DebugUITools.java:757) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.debugRunningApp(AndroidLaunchController.java:176) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.clientChanged(AndroidLaunchController.java:1742) 
at com.android.ddmlib.AndroidDebugBridge.clientChanged(AndroidDebugBridge.java:912) 
at com.android.ddmlib.Device.update(Device.java:600) 
at com.android.ddmlib.Client.update(Client.java:903) 
at com.android.ddmlib.HandleWait.handleWAIT(HandleWait.java:88) 
at com.android.ddmlib.HandleWait.handleChunk(HandleWait.java:66) 
at com.android.ddmlib.MonitorThread.callHandler(MonitorThread.java:414) 
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:322) 
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263) 

и кажется, что стекло загружается что-то, но Ничего не произошло.

Я думаю, что путь неправильный, потому что я пробовал другие вещи (например, MediaPlayer), и получаю тот же результат.

Любые подсказки?

ответ

0

Я столкнулся с той же проблемой. com.google.glass.action.VIDEOPLAYER не получает доступ к локальным ресурсам проекта. вы можете решить эту проблему, используя видео-просмотр или поместите свое видео в каталог внешнего хранилища стекла.

1

Согласно this ответу, вы должны установить этот путь:

"android.resource://[package]/[res type]/[res name]" 

поэтому было бы

"android.resource://" + getPackageName() +"/raw/" + R.raw.close_upper_case_mp4 

Он также может быть, что путь не правильно закодирован, попробуйте

Uri.parse("android.resource://" + getPackageName() +"/raw/" + R.raw.close_upper_case_mp4).toString(); 

(с или без "/ сырой" части)

+0

Кажется, что добавление «/ raw /» ничего не меняет. – MosheS

+0

Я добавил код, указанный в ссылке: int test = this.getResources(). GetIdentifier ("close_upper_case_mp4", "raw", this.getPackageName()); \t if (test! = 0) \t { \t result = true; \t} и «тест» не было 0, не знаю, в чем проблема. – MosheS

Смежные вопросы