我正在使用MediaPlayer创建一个应用程序,以播放原始文件夹中的音频文件。它在android 7及更高版本上工作正常,但对于android 6则崩溃。似乎MediaPlayer.setDataSource在android 6上已被弃用。那么应该使用什么来使MediaPlayer在android 6上工作?是否可以使用其他替代方法使我的应用程序在android 6上工作。
我从developer.android.com下载并尝试运行示例应用程序,但它在Android 6上也崩溃了。
崩溃日志-
java.lang.NoSuchMethodError: No virtual method setDataSource(Landroid/content/res/AssetFileDescriptor;)V in class Landroid/media/MediaPlayer; or its super classes (declaration of 'android.media.MediaPlayer' appears in /system/framework/framework.jar)
at com.example.android.mediaplayersample.MediaPlayerHolder.loadMedia(MediaPlayerHolder.java:86)
at com.example.android.mediaplayersample.MainActivity.onStart(MainActivity.java:57)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237)
答案 0 :(得分:0)
似乎在Android 6上已弃用MediaPlayer.setDataSource
否,the method that you are trying to call当时不存在。它是在API级别24中添加的。
那么应该使用什么使MediaPlayer在android 6上工作
对于原始资源,请使用the static create()
method that takes a resource ID。