android.media.MediaExtractor。有人让这个野兽工作吗? "Failed to instantiate extractor"异常

标签 android video-streaming media video-capture transcoding

尝试运行这个(来自developer.android.com的示例代码)

MediaExtractor extractor = new MediaExtractor();
extractor.setDataSource("/sdcard/myvideo.mp4");

在第二行出现“无法实例化提取器”异常。 尝试将文件放入内部存储,尝试通过 FileDescriptor 访问,但没有任何帮助。

有人吗?

I/MonoDroid( 6802): UNHANDLED EXCEPTION: Java.IO.IOException: Exception of type 'Java.IO.IOException' was thrown.
I/MonoDroid( 6802): at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00023] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:368
I/MonoDroid( 6802): at Android.Media.MediaExtractor.SetDataSource (Java.IO.FileDescriptor) [0x0002d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Android.Media.MediaExtractor.cs:206
I/MonoDroid( 6802): at AndroidApplication1.Activity1.ExtractVideo () [0x0001e] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:64
I/MonoDroid( 6802): at AndroidApplication1.Activity1.<OnCreate>b__2 (object,System.EventArgs) [0x00001] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:53
I/MonoDroid( 6802): at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) [0x0000b] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Android.Views.View.cs:1382
I/MonoDroid( 6802): at Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (intptr,intptr,intptr) [0x00010] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Android.Views.View.cs:1353
I/MonoDroid( 6802): at (wrapper dynamic-method) object.0b69082c-1c66-4fd6-89c4-1d14273d4245 (intptr,intptr,intptr) <IL 0x00017, 0x00043>
I/MonoDroid( 6802): 
I/MonoDroid( 6802):   --- End of managed exception stack trace ---
I/MonoDroid( 6802): java.io.IOException: Failed to instantiate extractor.
I/MonoDroid( 6802):     at android.media.MediaExtractor.setDataSource(Native Method)
I/MonoDroid( 6802):     at android.media.MediaExtractor.setDataSource(MediaExtractor.java:158)
I/MonoDroid( 6802):     at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)
I/MonoDroid( 6802):     at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:29)
I/MonoDroid( 6802):     at android.view.View.performClick(View.java:4211)
I/MonoDroid( 6802):     at android.view.View$PerformClick.run(View.java:17267)
I/MonoDroid( 6802):     at android.os.Handler.handleCallback(Handler.java:615)
I/MonoDroid( 6802):     at android.os.Handler.dispatchMessage(Handler.java:92)
I/MonoDroid( 6802):     at android.os.Looper.loop(Looper.java:137)
I/MonoDroid( 6802):     at android.app.ActivityThread.main(ActivityThread.java:4898)
I/MonoDroid( 6802):     at java.lang.reflect.Method.invokeNative(Native Method)
I/MonoDroid( 6802):     at java.lang.reflect.Method.invoke(Method.java:511)
I/MonoDroid( 6802):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
I/MonoDroid( 6802):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
I/MonoDroid( 6802):     at dalvik.system.NativeStart.main(Native Method)
W/dalvikvm( 6802): JNI WARNING: JNI method called with exception pending
W/dalvikvm( 6802):              in Lmono/android/view/View_OnClickListenerImplementor;.n_onClick:(Landroid/view/View;)V (CallObjectMethod)
W/dalvikvm( 6802): Pending exception is:
I/dalvikvm( 6802): java.io.IOException: Failed to instantiate extractor.
I/dalvikvm( 6802):   (raw stack trace not found)
I/dalvikvm( 6802): "main" prio=5 tid=1 NATIVE
I/dalvikvm( 6802):   | group="main" sCount=0 dsCount=0 obj=0x41094508 self=0x40e6f9a0
I/dalvikvm( 6802):   | sysTid=6802 nice=0 sched=0/0 cgrp=apps handle=1074282288
I/dalvikvm( 6802):   | schedstat=( 1587575495 261759711 782 ) utm=108 stm=50 core=3
I/dalvikvm( 6802):   #00  pc 00001260  /system/lib/libcorkscrew.so (unwind_backtrace_thread+27)
I/dalvikvm( 6802):   #01  pc 0005f904  /system/lib/libdvm.so (dvmDumpNativeStack(DebugOutputTarget const*, int)+35)
I/dalvikvm( 6802):   #02  pc 000537ac  /system/lib/libdvm.so (dvmDumpThreadEx(DebugOutputTarget const*, Thread*, bool)+303)
I/dalvikvm( 6802):   #03  pc 00053846  /system/lib/libdvm.so (dvmDumpThread(Thread*, bool)+25)
I/dalvikvm( 6802):   #04  pc 00038e02  /system/lib/libdvm.so
I/dalvikvm( 6802):   #05  pc 00040f60  /system/lib/libdvm.so
I/dalvikvm( 6802):   at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)
I/dalvikvm( 6802):   at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:29)
I/dalvikvm( 6802):   at android.view.View.performClick(View.java:4211)
I/dalvikvm( 6802):   at android.view.View$PerformClick.run(View.java:17267)
I/dalvikvm( 6802):   at android.os.Handler.handleCallback(Handler.java:615)
I/dalvikvm( 6802):   at android.os.Handler.dispatchMessage(Handler.java:92)
I/dalvikvm( 6802):   at android.os.Looper.loop(Looper.java:137)
I/dalvikvm( 6802):   at android.app.ActivityThread.main(ActivityThread.java:4898)
I/dalvikvm( 6802):   at java.lang.reflect.Method.invokeNative(Native Method)
I/dalvikvm( 6802):   at java.lang.reflect.Method.invoke(Method.java:511)
I/dalvikvm( 6802):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
I/dalvikvm( 6802):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
I/dalvikvm( 6802):   at dalvik.system.NativeStart.main(Native Method)
I/dalvikvm( 6802): 
E/dalvikvm( 6802): VM aborting
I/mono    ( 6802): Stacktrace:
I/mono    ( 6802): 
I/mono    ( 6802):   at Android.Runtime.JNIEnv.CallObjectMethod (intptr,intptr) [0x00000] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:129
I/mono    ( 6802):   at Java.Lang.Throwable.get_Message () [0x0003e] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Java.Lang.Throwable.cs:195
I/mono    ( 6802):   at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
E/mono    ( 6802): 
E/mono    ( 6802): Unhandled Exception:
E/mono    ( 6802): Java.IO.IOException: Exception of type 'Java.IO.IOException' was thrown.
E/mono    ( 6802): at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00023] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:368
E/mono    ( 6802): at Android.Media.MediaExtractor.SetDataSource (Java.IO.FileDescriptor) [0x0002d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Android.Media.MediaExtractor.cs:206
E/mono    ( 6802): at AndroidApplication1.Activity1.ExtractVideo () [0x0001e] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:64
E/mono    ( 6802): at AndroidApplication1.Activity1.<OnCreate>b__2 (object,System.EventArgs) [0x00001] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:53
E/mono    ( 6802): at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) 
I/mono    ( 6802): [ERROR] FATAL UNHANDLED EXCEPTION: Java.IO.IOException: Exception of type 'Java.IO.IOException' was thrown.
I/mono    ( 6802): at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00023] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:368
I/mono    ( 6802): at Android.Media.MediaExtractor.SetDataSource (Java.IO.FileDescriptor) [0x0002d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.4-series/c6e52015/source/monodroid/src/Mono.Android/platforms/android-16/src/generated/Android.Media.MediaExtractor.cs:206
I/mono    ( 6802): at AndroidApplication1.Activity1.ExtractVideo () [0x0001e] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:64
I/mono    ( 6802): at AndroidApplication1.Activity1.<OnCreate>b__2 (object,System.EventArgs) [0x00001] in c:\Users\pka\Documents\Visual Studio 2012\Projects\AndroidApplication1\AndroidApplication1\Activity1.cs:53
I/mono    ( 6802): at Android.Views.View/IOnClickListenerImplementor.OnClick (Android
V/MediaPlayerService( 1901): Delete media recorder client
D/ISecCameraHardware( 1901): stopPreview E
W/ISecCameraHardware( 1901): stopPreview: warning, preview has been stopped
I/SurfaceFlinger( 1898): id=23 Removed TurfaceView idx=2 MapSz=3
D/ISecCameraHardware( 1901): cancelPicture EX
D/SecCameraHardware( 1901): release E
D/ISecCameraHardware( 1901): Camera.... release
W/InputDispatcher( 2253): channel ~ Consumer closed input channel or an error occurred.  events=0x9

最佳答案

我是个白痴...我的程序的另一部分打开了提取器应该读取的同一个文件...

Android 发出的错误消息相当糟糕。

关于android.media.MediaExtractor。有人让这个野兽工作吗? "Failed to instantiate extractor"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527797/

相关文章:

在 native 代码中使用 mediaCodec 进行 android 视频播放

android - 如何获取下载文件夹中的文件名列表?

java - FFMpeg - 将多个 rtmp 流输入合并到单个 rtmp 输出

javascript - 将视频流式传输到 Web 浏览器

iPhone HTTP Streaming .m3u8 和 .ts 文件 - 如何使用 ffmpeg 创建

android.media 包在 sdk-platforms[android.jar] 中缺少几个类

Android GCM - 新的 Google API 控制台

android - 在 android 中每分钟启动一个服务的最佳实践是什么?

android - ppi 和 dpi 有什么区别?

Android 浏览器报告错误的屏幕尺寸?