本文介绍了无法在对话框中采用了android的MediaPlayer播放声音?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在一个对话框中播放声音。但不知何故,它不工作。我不知道是否是因为其在对话框左右。
I'm trying to play sound in a dialog. But somehow, it doesnt work. I'm not sure whether it's because its in a dialog or so.
File file = new File(Environment.getExternalStorageDirectory(),"/record");
final String soundUri = file.getAbsolutePath() + "/" +childName;
RelativeLayout layout = new RelativeLayout(MLT_File.this);
final MediaPlayer mp = MediaPlayer.create(MLT_File.this, Uri.parse(soundUri));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(0, 20, 0, 0);
LinearLayout layout2 = new LinearLayout(MLT_File.this);
layout2.setLayoutParams(params);
layout2.setGravity(Gravity.CENTER);
final ImageButton btn = new ImageButton(MLT_File.this);
btn.setImageDrawable(this.getResources().getDrawable(android.R.drawable.ic_media_play));
layout2.addView(btn);
layout.addView(layout2);
btn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
if(mp.isPlaying())
{
mp.pause();
btn.setImageDrawable(MLT_File.this.getResources().getDrawable(android.R.drawable.ic_media_play));
}//video is playing
else
{
mp.start();
btn.setImageDrawable(MLT_File.this.getResources().getDrawable(android.R.drawable.ic_media_pause));
}
}
});//onClickListener
AlertDialog.Builder builder = new AlertDialog.Builder(MLT_File.this);
builder.setView(layout);
builder.setCancelable(false);
builder.setPositiveButton("Delete", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
// TODO Auto-generated method stub
mp.stop();
itemClick (1,soundUri);
}
});//delete
builder.setNeutralButton("Share", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
// TODO Auto-generated method stub
mp.stop();
itemClick (3,soundUri);
}
});//share
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
// TODO Auto-generated method stub
mp.stop();
dialog.dismiss();
}
});//cancel
builder.create().show();
有只有1个错误:
01-30 16:27:29.251: E/MediaPlayer-JNI(32416): setDataSource: outside path in JNI is �x@
我用媒体播放器从的Android的想法:播放音频剪辑的onClick 一>
推荐答案
只要使用,
private MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(soundUri);
mp.prepare();
mp.start();
和让我知道发生什么事。
And let me know what happen..
另外,也要看看这个例子 MusicDroid - 音频播放部分
Also look at this example MusicDroid - Audio Player Part I
这篇关于无法在对话框中采用了android的MediaPlayer播放声音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!