android:设置播放res/raw文件夹中的音乐

您所在的位置:网站首页 文件夹里的音频怎么设置铃声 android:设置播放res/raw文件夹中的音乐

android:设置播放res/raw文件夹中的音乐

2023-12-23 14:36| 来源: 网络整理| 查看: 265

首先在res文件夹中新建一个文件夹命名为raw,然后将要播放的音乐放到raw文件夹里面,如图 这里我就只放了两个MP3文件,根据自己的需求来放 在这里插入图片描述 然后我的布局是长这样的 在这里插入图片描述 这个代码我就不多说了,相信大家都可以搞定的 接下来就是主要的部分了 先定义成员变量

private MediaPlayer iphone,android;//mediaPlayer对象 private boolean isPause = false;//是否暂停

然后是创建mediaplayer对象

iphone = MediaPlayer.create(BellActivity.this, R.raw.iphone);

编写播放音乐play()方法。在该方法中首先调用mediaplayer对象的reset()方法重置mediaplayer对象,然后重新为其设置要播放的音频文件,最后调用start()方法开始播放音频

iphone.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { // TODO Auto-generated method stub play();//重新开始播放 } });

设置音乐的监听器

iphone.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { // TODO Auto-generated method stub play();//重新开始播放 } });

最后就是点击事件了

play(); if(isPause){ isPause=false; }

我这里是没有设置暂停的,是直接播放整个MP3文件 还有就是要在Activity销毁的时候停止正在播放的音频,并释放资源

protected void onDestroy() { super.onDestroy(); if(iphone.isPlaying()){ iphone.stop(); } iphone.release(); }

之后就可以点击播放了,附上全部代码

@BindView(R.id.view_system) View viewSystem; @BindView(R.id.tool_bar_title) TextView toolBarTitle; @BindView(R.id.tool_bar) Toolbar toolBar; @BindView(R.id.rb_system) RadioButton rbSystem; @BindView(R.id.rb_daoshui) RadioButton rbDaoshui; @BindView(R.id.rb_dishui) RadioButton rbDishui; @BindView(R.id.rb_dingding) RadioButton rbDingding; @BindView(R.id.rb_nothing) RadioButton rbNothing; @BindView(R.id.tool_bar_right) TextView toolBarRight; private MediaPlayer iphone,android;//mediaPlayer对象 private boolean isPause = false;//是否暂停 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); iphone = MediaPlayer.create(BellActivity.this, R.raw.iphone);//创建mediaplayer对象 android = MediaPlayer.create(BellActivity.this, R.raw.android); initView(); } private void initView() { iphone.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { // TODO Auto-generated method stub play();//重新开始播放 } }); android.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { // TODO Auto-generated method stub playAndroid();//重新开始播放 } }); } private void play() { try { iphone.reset(); iphone = MediaPlayer.create(BellActivity.this, R.raw.iphone);//重新设置要播放的音频 iphone.start();//开始播放 } catch (Exception e) { e.printStackTrace();//输出异常信息 } } private void playAndroid() { try { android.reset(); android = MediaPlayer.create(BellActivity.this, R.raw.android);//重新设置要播放的音频 android.start();//开始播放 } catch (Exception e) { e.printStackTrace();//输出异常信息 } } @OnClick({R.id.rb_system, R.id.rb_daoshui, R.id.rb_dishui, R.id.rb_dingding, R.id.rb_nothing}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.rb_system: case R.id.rb_dishui: case R.id.rb_nothing: android.stop(); play(); if(isPause){ isPause=false; } break; case R.id.rb_daoshui: case R.id.rb_dingding: iphone.stop(); playAndroid(); if(isPause){ isPause=false; } break; } } protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if(iphone.isPlaying()){ iphone.stop(); } iphone.release();//释放资源 if(android.isPlaying()){ android.stop(); } android.release();//释放资源 }


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3