我用一个布局和两个按钮构建了一个简单的应用程序,这是我的代码。。
package com.example.tessound;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener
{
MediaPlayer player;
Button play,mute;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button)findViewById(R.id.button1);
play.setOnClickListener(this);
mute = (Button)findViewById(R.id.button2);
mute.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void onClick(View view)
{
if(view.getId()==R.id.button1)
{
playSound(1);
}
else if(view.getId()==R.id.button2)
{
playSound(2);
}
}
public void playSound(int arg)
{
try
{
if(player != null)
{
if (player.isPlaying())
{
player.stop();
player.release();
}
}
}
catch(Exception e)
{
}
if (arg == 1)
{
player = MediaPlayer.create(this, R.raw.atur);
}
else if (arg == 2)
{
player = MediaPlayer.create(this, R.raw.back);
}
if(player != null)
{
player.setLooping(false);
player.start();
}
}
}
我的原始文件夹包含:atur.mp3、back.mp3、belajar.mp3、level.mp3、skip.mp3和start.mp3...当我单击按钮静音时,播放back.mp3,但当我单击按钮播放时,原始文件夹中的所有mp3都被播放...有评论吗?
我记得有一个类似的问题,我的代码最终是这样的:
if (!getmMediaPlayer().isPlaying()) {
try {
AssetFileDescriptor fd = getResources().openRawResourceFd(
R.raw.snooze);
getmMediaPlayer().setDataSource(fd.getFileDescriptor(),
fd.getStartOffset(), fd.getLength());
getmMediaPlayer().setAudioStreamType(
AudioManager.STREAM_ALARM);
getmMediaPlayer().setLooping(true);
getmMediaPlayer().prepare();
getmMediaPlayer().start();
} catch (IllegalStateException e) {
Log.e(TAG, e.toString());
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
具体来说,我认为setDataSource很重要。
我复制了你的代码并进行了测试。在我的系统中,它工作得很好。我刚刚重命名了歌曲和按钮id,因为我无法获得这些原始歌曲。请看这个代码,代码是一样的,因为我刚刚复制了这个代码:
package com.mukherjee.satyaki.test;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity1 extends Activity implements OnClickListener
{
MediaPlayer player;
Button play,mute;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button)findViewById(R.id.songid1);
play.setOnClickListener(this);
mute = (Button)findViewById(R.id.songid2);
mute.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void onClick(View view)
{
if(view.getId()==R.id.songid1)
{
playSound(1);
}
else if(view.getId()==R.id.songid2)
{
playSound(2);
}
}
public void playSound(int arg)
{
try
{
if(player != null)
{
if (player.isPlaying())
{
player.stop();
player.release();
}
}
}
catch(Exception e)
{
}
if (arg == 1)
{
player = MediaPlayer.create(this, R.raw.ram1);
}
else if (arg == 2)
{
player = MediaPlayer.create(this, R.raw.ram3);
}
if(player != null)
{
player.setLooping(false);
player.start();
}
}
}
您的代码很好,按照我之前的假设,重新启动模拟器并擦除用户数据,然后进行测试。我认为这个问题可以通过你的代码解决。
谢谢。
我在res目录中创建了raw文件夹,并插入了mp3文件。我试着用mediaplayer播放我的mp3文件。这是我的消息来源- 但是当我运行应用程序时,我有exception.this是我的logcat异常- 我如何解决我的问题?如果有人知道解决办法,请帮助我。提前感谢。
我来自台湾,我的英语很基础,谢谢你的原谅。 我构建了一个iPad应用程序并发布到App Store,这是一种交流板(AAC适用于说话困难的人)。它在主视图上有几个按钮,当用户触摸一个时,应用程序将播放与该按钮对应的mp3声音。我已经将所有mp3文件放在一个文件夹中,并确定在运行时动态播放哪个文件。 最近我正在开发这个应用的Android版本,但我遇到了一个问题,当我点击视图上的一个按钮时,Medi
我尝试从res/raw文件夹播放音频文件,这是我用来播放文件的代码,这不会产生任何错误,并且我的设备音量最大,但没有任何声音。我尝试了MP3和WAV文件。 启动后我在 LogCat 上收到以下消息 帮助我解决这个问题,将不胜感激。
你好,有人能告诉我如何玩mp3/mp4到Android默认浏览器吗? 我在参考资料中的原始文件夹中有mp3/mp4文件。 我尝试了下面的代码,但被忽略,无法工作,它将打开默认播放器,但没有播放选定的文件。 谁能推荐一下吗?
我正在创建一个带有背景音乐的应用程序。我试着在课堂上演奏那首音乐: 我试过了: 当我把它放在我的文件的根目录中并使用它时: 我得到这个错误:javax.sound.sampled。不受支持的AudioFileException:无法从输入URL获取音频输入流更新我尝试使用JavaFX: 但是我得到了错误: 此行中的错误:MediaPlayer Player=new MediaPlayer(媒体);
如何在android的简单播放器中播放Resources/raw中的mp3文件?类似于android中默认文件管理器中的文件预览 请帮帮我