扩展 DataMediaSource 时出现 Java.Lang.NoClassDefFoundError

标签 java c# android xamarin

我正在尝试实现自己的 MediaDataSource 在运行时解密视频。但我在很早的阶段就遇到了一个问题:我刚刚创建的类从 MediaDataSource 继承它。 这是代码:

    class SimpleSource : Android.Media.MediaDataSource
    {
            private string v;

            public SimpleSource(string v)
            {
                 this.v = v;
            }

            public override long Size
            {
                 get
                 {
                      throw new NotImplementedException();
                 }
            }

            public override int ReadAt(long position, byte[] buffer, int offset, int size)
            {
                  throw new NotImplementedException();
            }

            public override void Close()
            {
                  throw new NotImplementedException();
            }
     }

当我调用 var source = new SimpleSource("fname.ax"); 时,它会在构造函数中抛出 Java.Lang.NoClassDefFoundError

我尝试在 android 4.1、4.4 和 5.1.1 上运行它,但得到了相同的结果。

Exception screenshot on android 4.1

Exception screenshot on android 5.1.1

最佳答案

现在随着 API 23 的发布,Android 允许您创建派生自 MediaDataSource 的类

您的设备的 API 级别低于要求。

关于扩展 DataMediaSource 时出现 Java.Lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40673283/

相关文章:

java - 第三方API看不到多模块Maven项目中的类

java - 每次都必须声明 HttpUrlConnection 吗?

java - 如何从java中的属性值中删除反斜杠

android - measureSpec 返回错误值

java - 如何将数字 .00 格式化为 0.00?

c# - 在 Windows.Forms 中创建控件列表

c# - 使用集合时如何删除ListView中的元素?

c# - 在随机数组中搜索特定值

android - Android 中的 FFmpeg 命令以编程方式

android - 在 Android 应用内支付中获取订阅数据