我的应用无法播放视频和音频文件。我使用内部存储来保存音频视频文件。我的代码视频和音频没有播放错误显示我的代码是:尝试调用虚方法'void android.media.MediaPlayer.setDataSource(java.lang.String) '在空对象引用上
public class VideoFileActivity extends Activity {
String filePath, fileName;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.activity_video_dialogue);
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.ic_launcher);
SharedPreferences pref = getSharedPreferences("import_pkid", MODE_PRIVATE);
filePath = pref.getString("file_path", "");
fileName = pref.getString("file_name", "");
Bundle extras = getIntent().getExtras();
if(extras != null){
filePath = extras.getString("file_path");
fileName = extras.getString("file_name");
}
DownloadFiles();
MusicPlay();
}
public void DownloadFiles() {
//Downloads Files
}
public void MusicPlay()
{
try {
mp.setDataSource(filePath+"/"+fileName);
} catch (IllegalArgumentException e1) {
e1.printStackTrace();
} catch (IllegalStateException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mp.setLooping(true);
mp.start();
}
}
答案 0 :(得分:0)
使用log语句获取filePath
和fileName
我使用mp.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/......./" + name.mp3)
播放内部保存的音频
答案 1 :(得分:0)
您忘记初始化MediaPlayer。
在调用方法之前添加以下内容' mp' 。
MediaPlayer mp=new MediaPlayer();