微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java.Lang.RuntimeException: setDataSource failed: status = 0x80000000 in xamarin.forms with only android 8

如何解决Java.Lang.RuntimeException: setDataSource failed: status = 0x80000000 in xamarin.forms with only android 8

stackoverflow 本身针对这个错误提出了很多问题,但没有一个能真正解决问题。 setDataSource 失败:MediaMetadataRetriever 的状态 = 0x80000000。 Android 7、9、10 运行良好。我只有 android 8 有问题。在三星 j5 prime 中测试。使用 xamarin.forms 4.8.0.1821.all 权限。

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.SetDataSource(filePath);
string time = retriever.ExtractMetadata(MetadataKey.Duration);
long ms = java.lang.Long.ParseLong(time);
                

{java.lang.RuntimeException: setDataSource Failed: status = 0x80000000
  at Java.Interop.jnienvironment+InstanceMethods.CallVoidMethod (Java.Interop.JniObjectReference instance,Java.Interop.JniMethodInfo method,Java.Interop.JniArgumentValue* args) [0x0006e] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember,Java.Interop.IJavaPeerable self,Java.Interop.JniArgumentValue* parameters) [0x0002a] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
  at Android.Media.MediaMetadataRetriever.SetDataSource (System.String path) [0x00029] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
  --- End of managed java.lang.RuntimeException stack trace ---
java.lang.RuntimeException: setDataSource Failed: status = 0x80000000
    at android.media.MediaMetadataRetriever.setDataSource(Native Method)
    at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:78)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。