当前位置:首页 > 代码 > 正文

Android音乐app源代码(app播放音乐代码)

admin 发布:2022-12-19 16:21 123


本篇文章给大家谈谈Android音乐app源代码,以及app播放音乐代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

怎样查看 Android APP 源代码

用压缩软件打开apk文件,解压出根目录中的classes.dex文件

使用cmd ,dex2jar.bat classes.dex命令将classes.dex转换为jar

再用jd-gui打开该jar就可以查看源码了,如果apk安全性好的话,有些代码是看不到的

打开安卓软件后播放音乐的这段代码怎么写?

首先新建一个项目命名为Mp3Demo(这个看个人喜好),Activity命名为Mp3Demo。

1.接下来在Mp3Demo.java中输入以下代码:

package com.example.mp3demo;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.app.Activity;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class Mp3Demo extends Activity

{       //声名变量

private Button start=null;

private Button pause=null;

private Button stop=null;

private TextView state=null;

private MediaPlayer mp3;

private Boolean flag=false; //设置标记,false表示正在播放

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

super.setContentView(R.layout.activity_mp3_demo);

//取得各按钮组件

start=(Button) super.findViewById(R.id.start);

pause=(Button) super.findViewById(R.id.pause);

stop=(Button) super.findViewById(R.id.stop);

state=(TextView)super.findViewById(R.id.state);

//为每个按钮设置单击事件

start.setOnClickListener(new OnClickListenerStart());

pause.setOnClickListener(new OnClickListenerPause());

stop.setOnClickListener(new OnClickListenerStop());

mp3= new MediaPlayer();    //创建一个MediaPlayer对象

//在res下新建一个raw文件夹把一首歌放到此文件夹中并用英文命名

mp3 = MediaPlayer.create(Mp3Demo.this,R.raw.sky);  

}

//各按钮单击事件的实现如下

//开始播放

private class OnClickListenerStart implements OnClickListener{

//implementsOnClickListener为实现OnClickListener接口

@Override

//重写onClic事件

public void onClick(View v)

{   

//执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 

try

{

if (mp3!=null)

{

mp3.stop();

}

mp3.prepare();         //进入到准备状态

mp3.start();          //开始播放

state.setText("Playing");  //改变输出信息为“Playing”,下同

} catch (Exception e)

{

state.setText(e.toString());//以字符串的形式输出异常

e.printStackTrace();  //在控制台(control)上打印出异常

}

}

}

//暂停播放  

private class OnClickListenerPause implements OnClickListener{

@Override

public void onClick(View v)

{

try

{

if (flag==false) //若flag为false,则表示此时播放器的状态为正在播放

{

mp3.pause();

flag=true;

state.setText("pause");

}

else if(flag==true){

mp3.start();    //开始播放

flag=false;     //重新设置flag为false

state.setText("Playing");

}

} catch (Exception e)

{

state.setText(e.toString());

e.printStackTrace();

}

}

}

//停止播放

private class OnClickListenerStop implements OnClickListener{

@Override

public void onClick(View v)

{

try

{

if (mp3!=null)

{

mp3.stop();

state.setText("stop");

}

} catch (Exception e)

{

state.setText(e.toString());

e.printStackTrace();

}

}

}

//重写暂停状态事件

protected void onPause(){

try

{

mp3.release();   //释放音乐资源

} catch (Exception e)

{

state.setText(e.toString());

e.printStackTrace();

}

super.onPause();

}

}

2.按下来是定义布局文件,代码如下:

xmlns:tools=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:id="@+id/state"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world" /

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal"

android:id="@+id/start"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="start"/

android:id="@+id/pause"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="pause"/

android:id="@+id/stop"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="stop"/

基于Android音乐播放器源代码(正常播放、有列表)

package my.android.players;

import java.io.File;

import java.io.FilenameFilter;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ImageButton;

import android.widget.TextView;

public class mainActivity extends Activity {

private ListString myMusicList=new ArrayListString();

//当前播放歌曲的索引

private int currentListItem=0;

//音乐的路径

private static final String MUSIC_PATH="/sdcard/mp3";

//播放对象

private MediaPlayer myMediaPlayer;

private TextView m_TextView;

//播放按钮

private ImageButton m_start;

private ImageButton m_stop;

private ImageButton m_next;

private ImageButton m_last;

/*设定bIsPaused一开始为false */

private boolean bIsRun = false;

private boolean isplay;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.main2);

myMediaPlayer=new MediaPlayer();

musicList();

m_TextView=(TextView)findViewById(R.id.mtextview);

m_start=(ImageButton)findViewById(R.id.imgbtn_start);

m_stop=(ImageButton)findViewById(R.id.imgbtn_stop);

m_next=(ImageButton)findViewById(R.id.imgbtn_next);

m_last=(ImageButton)findViewById(R.id.imgbtn_last);

listener();

Intent intent = this.getIntent();

Bundle bundle = intent.getExtras();

currentListItem = bundle.getInt("currentListItem");

isplay=bundle.getBoolean("isplay");

if(isplay==true)

{

bIsRun=false;

playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

}

}

//监听事件

void listener(){

//开始

m_start.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

try

{

if(myMediaPlayer.isPlaying()==true)

{

myMediaPlayer.pause();

m_start.setImageResource(R.drawable.pause);

}

else

{

playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

}

}

catch (IllegalStateException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

//下一首

m_next.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

nextMusic();

}

});

//上一首

m_last.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

lastMusic();

}

});

//停止

m_stop.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

stopMusic();

}

});

myMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) {

// TODO Auto-generated method stub

nextMusic();

}

});

}

//播放音乐

void playMusic(String path){

try {

if(bIsRun==false)

{

myMediaPlayer.reset();

myMediaPlayer.setDataSource(path);

myMediaPlayer.prepare();

myMediaPlayer.start();

/*

* 取出歌曲名的.mp3后缀

* */

String str=(myMusicList.get(currentListItem)).toString();

System.out.println(str);

String str1[]=str.split("\\.");

System.out.println(str1[0]);

m_TextView.setText(str1[0]);

}

else

{

myMediaPlayer.start();

}

m_start.setImageResource(R.drawable.start);

bIsRun=true;

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

//下一首

void nextMusic(){

if(++currentListItem=myMusicList.size()){

currentListItem=0;

}

bIsRun=false;

playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

}

//上一首

void lastMusic(){

if(--currentListItem0)

currentListItem=myMusicList.size()-1;

bIsRun=false;

playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

}

//停止

void stopMusic() {

if (myMediaPlayer.isPlaying()) {

m_start.setImageResource(R.drawable.pause);

myMediaPlayer.stop();// 停止

bIsRun=false;

}

else

playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

}

//当用户返回时结束音乐并释放音乐对象

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

if(keyCode==KeyEvent.KEYCODE_BACK){

new AlertDialog.Builder(mainActivity.this).setTitle("message")

.setIcon(android.R.drawable.dialog_frame)

.setMessage("你确定要离开吗?")

.setPositiveButton("确定",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

myMediaPlayer.stop();

myMediaPlayer.release();

finish();

}

}).setNegativeButton("取消",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

}

}).show();

}

return super.onKeyDown(keyCode, event);

}

/**

* 文件过滤器

*

* @author

*

*/

class MusicFilter implements FilenameFilter {

@Override

public boolean accept(File dir, String filename) {

return (filename.endsWith(".mp3"));

}

}

//绑定音乐

void musicList(){

try{

File home=new File(MUSIC_PATH);

if(!home.exists())

home.mkdirs();

if(home.listFiles(new MusicFilter()).length=0){

for(File file:home.listFiles(new MusicFilter())){

myMusicList.add(file.getName().toString());

}

}

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

}

package my.android.players;

import java.io.File;

import java.io.FilenameFilter;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class Activity01 extends Activity {

//播放列表

private ListString myMusicList=new ArrayListString();

//当前播放歌曲的索引

private int currentListItem;

//音乐的路径

private static final String MUSIC_PATH="/sdcard/mp3";

//播放列表

private ListView m_ListView;

private boolean isplay=true;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

m_ListView=(ListView)findViewById(R.id.lv_music);

musicList();

//当选择列表项时播放音乐

m_ListView.setOnItemClickListener(new ListView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView? arg0, View arg1, int arg2,

long arg3) {

currentListItem = arg2;

Intent intent = new Intent();

Bundle mBundle=new Bundle();

mBundle.putInt("currentListItem", currentListItem);

mBundle.putBoolean("isplay", isplay);

intent.putExtras(mBundle);

intent.setClass(Activity01.this,mainActivity.class);

startActivity(intent);

finish();

}

});

}

/**

* 文件过滤器

*

* @author

*

*/

class MusicFilter implements FilenameFilter {

@Override

public boolean accept(File dir, String filename) {

return (filename.endsWith(".mp3"));

}

}

//绑定音乐

void musicList(){

try{

File home=new File(MUSIC_PATH);

if(!home.exists())

home.mkdirs();

if(home.listFiles(new MusicFilter()).length=0){

for(File file:home.listFiles(new MusicFilter())){

myMusicList.add(file.getName().toString());

}

ArrayAdapterString musicList=new ArrayAdapterString

(Activity01.this,android.R.layout.simple_list_item_1, myMusicList);

m_ListView.setAdapter(musicList);

}

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

}

安卓编程添加背景音乐代码和方法

MediaPlayer

网上有人封装了一个 直接拿来用就可以了

package com.llkan.setup;

import java.util.HashMap;

import java.util.Map;

import java.util.Random;

import com.llkan.R;

import android.content.Context;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.media.SoundPool;

/**

 * 声音控制类

 * @author wyf

 *

 */

public class SoundPlayer {

private static MediaPlayer music;

private static SoundPool soundPool;

private static boolean musicSt = true; //音乐开关

private static boolean soundSt = true; //音效开关

private static Context context;

private static final int[] musicId = {R.raw.bg,R.raw.bg1,R.raw.bg2,R.raw.bg3};

private static MapInteger,Integer soundMap; //音效资源id与加载过后的音源id的映射关系表

/**

 * 初始化方法

 * @param c

 */

public static void init(Context c)

{

context = c;

initMusic();

initSound();

}

//初始化音效播放器

private static void initSound()

{

soundPool = new SoundPool(10,AudioManager.STREAM_MUSIC,100);

soundMap = new HashMapInteger,Integer();

soundMap.put(R.raw.itemboom, soundPool.load(context, R.raw.itemboom, 1));

soundMap.put(R.raw.sel, soundPool.load(context, R.raw.sel, 1));

}

//初始化音乐播放器

private static void initMusic()

{

int r = new Random().nextInt(musicId.length);

music = MediaPlayer.create(context,musicId[r]);

music.setLooping(true);

}

/**

 * 播放音效

 * @param resId 音效资源id

 */

public static void playSound(int resId)

{

if(soundSt == false)

return;

Integer soundId = soundMap.get(resId);

if(soundId != null)

soundPool.play(soundId, 1, 1, 1, 0, 1);

}

/**

 * 暂停音乐

 */

public static void pauseMusic()

{

if(music.isPlaying())

music.pause();

}

/**

 * 播放音乐

 */

public static void startMusic()

{

if(musicSt)

music.start();

}

/**

 * 切换一首音乐并播放

 */

public static void changeAndPlayMusic()

{

if(music != null)

music.release();

initMusic();

startMusic();

}

/**

 * 获得音乐开关状态

 * @return

 */

public static boolean isMusicSt() {

return musicSt;

}

/**

 * 设置音乐开关

 * @param musicSt

 */

public static void setMusicSt(boolean musicSt) {

SoundPlayer.musicSt = musicSt;

if(musicSt)

music.start();

else

music.stop();

}

/**

 * 获得音效开关状态

 * @return

 */

public static boolean isSoundSt() {

return soundSt;

}

/**

 * 设置音效开关

 * @param soundSt

 */

public static void setSoundSt(boolean soundSt) {

SoundPlayer.soundSt = soundSt;

}

/**

 * 发出‘邦’的声音

 */

public static void boom()

{

playSound(R.raw.itemboom);

}

}

还有 小编卖萌了

android 添加背景音乐源码

一张你从未填写过的巨额支票,

枯黄萎缩的败叶,

不要去做,孩子

浪来时,你指着海洋彼岸

也会让有些人感到烦扰。

他来的这中,哈哈

android在线本地音乐播放器 简单点能看懂的 谁有源码给一个啊

下面这个例子是使用service和broadcastReceiver实现的简单音乐播放器,麻雀虽小,五脏俱全,百度搜索安卓无忧,点击源码看源码,你看演示:

MusiceService代码

package mm.shandong.com.testsimplemedia.service;  

import android.app.Service;  

import android.content.BroadcastReceiver;  

import android.content.Context;  

import android.content.Intent;  

import android.content.IntentFilter;  

import android.content.res.AssetFileDescriptor;  

import android.content.res.AssetManager;  

import android.media.MediaPlayer;  

import android.os.IBinder;  

  

public class MusicService extends Service {  

  

    int currentMusic = 0;//0表示没有音乐播放,1表示暂停,2表示正在播放,  

    int status;  

    MediaPlayer mp;  

    String[] musics = new String[]{"first.mp3", "second.mp3", "third.mp3"};  

    AssetManager am;  

  

    public MusicService() {  

  

    }  

  

    @Override  

    public void onCreate() {  

        am = getAssets();  

        mp = new MediaPlayer();  

  

        mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {  

            @Override  

            public void onCompletion(MediaPlayer mediaPlayer) {  

                currentMusic++;  

                currentMusic = currentMusic % musics.length;  

                playMusic();  

                status = 2;  

                Intent intentTemp = new Intent("Update_Music_State");  

                intentTemp.putExtra("status", status);  

                intentTemp.putExtra("currentMusic", currentMusic);  

                sendBroadcast(intentTemp);  

  

            }  

        });  

        IntentFilter intentFilter = new IntentFilter();  

        intentFilter.addAction("Get_Music_Control");  

        ///动态注册播放器变化的广播接收者  

        MusicServiceReceiver musicServiceReceiver = new MusicServiceReceiver();  

        registerReceiver(musicServiceReceiver, intentFilter);  

        super.onCreate();  

  

    }  

  

    public class MusicServiceReceiver extends BroadcastReceiver {  

  

        @Override  

        public void onReceive(Context context, Intent intent) {  

            int control = intent.getIntExtra("control", 0);  

            switch (control) {  

                case 0:  

                    //暂停  

                    if (status == 2) {  

                        mp.pause();  

                        status = 1;  

                    }  

  

                    break;  

                case 1:  

                    ///播放  

                    if (status == 0) {  

                        playMusic();  

                        status = 2;  

                    } else if (status == 1) {  

                        mp.start();  

                        status = 2;  

                    }  

                    break;  

                case 3:  

                    break;  

                case 4:  

                    //上一首  

                    if (status == 0) {  

                        if (currentMusic == 0) {  

                            currentMusic = 2;  

                        } else {  

                            currentMusic--;  

                        }  

                    } else if (status == 1) {  

                        if (currentMusic == 0) {  

                            currentMusic = 2;  

                        } else {  

                            currentMusic--;  

                        }  

                        status = 0;  

  

                    } else if (status == 2) {  

                        if (currentMusic == 0) {  

                            currentMusic = 2;  

                        } else {  

                            currentMusic--;  

                        }  

                        playMusic();  

                    }  

                    break;  

                case 5:  

                    //下一首  

                    if (status == 0) {  

                        if (currentMusic == 2) {  

                            currentMusic = 0;  

                        } else {  

                            currentMusic++;  

                        }  

                    } else if (status == 1) {  

                        if (currentMusic == 2) {  

                            currentMusic = 0;  

                        } else {  

                            currentMusic++;  

                        }  

                        status = 0;  

  

                    } else if (status == 2) {  

                        if (currentMusic == 2) {  

                            currentMusic = 0;  

                        } else {  

                            currentMusic++;  

                        }  

                        playMusic();  

                    }  

  

                    break;  

            }  

            Intent intentTemp = new Intent("Update_Music_State");  

            intentTemp.putExtra("status", status);  

            intentTemp.putExtra("currentMusic", currentMusic);  

            sendBroadcast(intentTemp);  

  

        }  

    }  

  

    @Override  

    public IBinder onBind(Intent intent) {  

        // TODO: Return the communication channel to the service.  

        throw new UnsupportedOperationException("Not yet implemented");  

    }  

  

    public void playMusic() {  

        try {  

  

            AssetFileDescriptor ad = am.openFd(musics[currentMusic]);  

            mp.reset();  

            mp.setDataSource(ad.getFileDescriptor(), ad.getStartOffset(), ad.getLength());  

            //  mp.create(this,musics[currentMusic]);  

            mp.prepare();  

            mp.start();  

        } catch (Exception e) {  

            e.printStackTrace();  

        }  

    }  

}

activity代码:

package mm.shandong.com.testsimplemedia;  

import android.content.BroadcastReceiver;  

import android.content.Context;  

import android.content.Intent;  

import android.content.IntentFilter;  

import android.support.v7.app.AppCompatActivity;  

import android.os.Bundle;  

import android.view.View;  

import android.widget.ImageButton;  

import android.widget.TextView;  

  

import mm.shandong.com.testsimplemedia.service.MusicService;  

  

public class TestSimpleMediaActivity extends AppCompatActivity {  

    ImageButton imageButton;  

    TextView textViewMp3Name;  

    TextView textViewMp3Author;  

    int status = 0;  

    String[] authors = new String[]{"张三", "李四", "王二"};  

    String[] names = new String[]{"first", "second", "thrid"};  

    int currentMusic = 0;  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_test_simple_media);  

        imageButton = (ImageButton) findViewById(R.id.imageButton);  

        textViewMp3Name = (TextView) findViewById(R.id.textViewMp3Name);  

        textViewMp3Author = (TextView) findViewById(R.id.textViewMp3Author);  

        imageButton.setOnClickListener(new View.OnClickListener() {  

            @Override  

            public void onClick(View view) {  

                Intent intent = new Intent("Get_Music_Control");  

  

                if (status == 2) {  

                    intent.putExtra("control", 0);  

  

                } else {  

                    intent.putExtra("control", 1);  

                }  

                sendBroadcast(intent);  

            }  

        });  

        IntentFilter intentFilter = new IntentFilter();  

        intentFilter.addAction("Update_Music_State");  

        MusicStatusReceiver musicStatusReceiver = new MusicStatusReceiver();  

        //动态注册activity变化的广播接收者  

        registerReceiver(musicStatusReceiver, intentFilter);  

        Intent intent = new Intent(this, MusicService.class);  

        startService(intent);  

  

        Intent intentMusicReceiver = new Intent("Get_Music_Control");  

        intentMusicReceiver.putExtra("control", 3);  

        sendBroadcast(intentMusicReceiver);  

  

    }  

    ///上一首  

    public void preMusic(View view) {  

        Intent intentMusicReceiver = new Intent("Get_Music_Control");  

        intentMusicReceiver.putExtra("control", 4);  

        sendBroadcast(intentMusicReceiver);  

    }  

    ///下一首  

    public void nextMusic(View view) {  

        Intent intentMusicReceiver = new Intent("Get_Music_Control");  

        intentMusicReceiver.putExtra("control", 5);  

        sendBroadcast(intentMusicReceiver);  

    }  

   ///定义操作音乐的广播接收者  

    public class MusicStatusReceiver extends BroadcastReceiver {  

  

        @Override  

        public void onReceive(Context context, Intent intent) {  

            status = intent.getIntExtra("status", 0);  

            currentMusic = intent.getIntExtra("currentMusic", 0);  

            switch (status) {  

                case 0:  

                    textViewMp3Name.setText(names[currentMusic]);  

                    textViewMp3Author.setText(authors[currentMusic]);  

                    imageButton.setBackgroundResource(R.drawable.play32);  

                    break;  

                case 1:  

                    textViewMp3Name.setText(names[currentMusic]);  

                    textViewMp3Author.setText(authors[currentMusic]);  

                    imageButton.setBackgroundResource(R.drawable.play32);  

                    break;  

                case 2:  

                    imageButton.setBackgroundResource(R.drawable.pause32);  

                    textViewMp3Name.setText(names[currentMusic]);  

                    textViewMp3Author.setText(authors[currentMusic]);  

                    break;  

            }  

        }  

    }  

}

最后,您觉得回答满意的话,请关注一下我的微博,我的名字除了中文以外的。

关于Android音乐app源代码和app播放音乐代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/12652.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载