ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

android 播放本地音乐代码

2024-07-08 12:23:55  阅读:1  来源: 互联网

标签:


要在Android应用中播放本地音乐,可以使用MediaPlayer类。以下是一个简单的示例代码,演示如何播放本地的音乐文件:

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
    private MediaPlayer mediaPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mediaPlayer = MediaPlayer.create(this, R.raw.music); // 'music'是放置于'raw'目录下的音乐文件

        // 播放按钮的点击事件
        findViewById(R.id.playButton).setOnClickListener(view -> {
            if (!(mediaPlayer.isPlaying())) {
                mediaPlayer.start();
            }
        });

        // 暂停按钮的点击事件
        findViewById(R.id.pauseButton).setOnClickListener(view -> {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.pause();
            }
        });

        // 停止按钮的点击事件
        findViewById(R.id.stopButton).setOnClickListener(view -> {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.stop();
                mediaPlayer = MediaPlayer.create(this, R.raw.music); // 重新创建MediaPlayer实例
            }
        });
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mediaPlayer != null) {
            mediaPlayer.release(); // 释放MediaPlayer资源
            mediaPlayer = null;
        }
    }
}

Java

上述代码给出一个示例的Activity,包含三个按钮:playButtonpauseButtonstopButton。当点击playButton按钮时,音乐会开始播放;点击pauseButton按钮时,音乐会暂停;点击stopButton按钮时,音乐会停止并重新创建MediaPlayer实例。

请将R.raw.music替换为您自己放置在res/raw目录下的音乐文件名。还可以根据您的需要添加其他功能,例如音量控制、播放完成监听等。

另外,请确保在应用的AndroidManifest.xml文件中添加了android.permission.READ_EXTERNAL_STORAGE权限(如果需要访问外部存储上的音乐文件)和android.permission.WAKE_LOCK权限(如果需要在后台播放音乐)。

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有