<tfoot id='lcrnhuzt'></tfoot>
      <bdo id='rjn5nnaa'></bdo><ul id='gkpq6jv3'></ul>
    <i id='vrwf8n64'><tr id='h5eve8h4'><dt id='bbu1gjz3'><q id='j8b15xin'><span id='c9sl0aip'><b id='yuc2ndeq'><form id='8rot911q'><ins id='jznwpu4z'></ins><ul id='v8d5j2fo'></ul><sub id='9pup770v'></sub></form><legend id='5lbba4w5'></legend><bdo id='tvs1rtxg'><pre id='sbfj0hsg'><center id='eqwo0s4g'></center></pre></bdo></b><th id='i5joefrb'></th></span></q></dt></tr></i><div id='b00xkpuc'><tfoot id='t3fn6hs6'></tfoot><dl id='kf6oil9u'><fieldset id='k4n5iyr2'></fieldset></dl></div>

      1. <small id='lyaam8ca'></small><noframes id='g1mdigq2'>

      2. <legend id='lav9mqsr'><style id='i1hoyltb'><dir id='unxy824m'><q id='rgxdli9l'></q></dir></style></legend>
        欢迎来到入门教程网!

        Java编程

        当前位置:主页 > 软件编程 > Java编程 >

        java音乐播放器代码 javaswing音乐播放器

        来源:本站原创|时间:2023-05-16|栏目:Java编程|点击:

        基于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();

        }

        }

        }

        想用Java编写一个音乐播放器,将历史记录存放在MySql数据库中,请大神给出思路

        给你一个基础的实现方法与一个完全开发的实现方法:

        基础实现方法:

        1)从网上搜索一个可以播放音乐的 java 类库,该类库带有音乐播放的API供外部程序调用。

        2)你直接使用该音乐类库进行音乐播放操作。

        3)你设计一个 Swing 界面在播放的时候,把播放的音简闹察乐信息存在数据库。

        完全开发方法:

        1)你自己从最原始做起包括音乐文件的播放解码等全部用 java 写出一个音乐类库供拦茄自己的程序调用。

        2)弯腔你直接使用该音乐类库进行音乐播放操作。

        3)你设计一个 Swing 界面在播放的时候,把播放的音乐信息存在数据库。

        寻音乐播放器源代码,用高级语言编写即可,java/c/c++/vc都可以

        给你个Java音乐播放器代码,你试试!

        import javax.media.ControllerEvent;

        import javax.media.ControllerListener;

        import javax.media.EndOfMediaEvent;

        import javax.media.PrefetchCompleteEvent;

        import javax.media.RealizeCompleteEvent;

        import javax.media.*;

        import javax.swing.*;

        import java.awt.*;

        import java.awt.event.*;

        public class MediaPlayer extends JFrame implements ActionListener,

        ItemListener, ControllerListener {

        String title;

        Player player;

        boolean first = true, loop = false;

        Component vc, cc;

        String currentDirectory=null;

        // 构造函数,其中包括了设置响应窗口事件的监听器。

        MediaPlayer(String title) {

        super(title);

        /* 关闭按钮的实现。。 */

        addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {

        dispose();

        }

        public void windowClosed(WindowEvent e) {

        if (player != null)

        player.close();

        System.exit(0);

        }

        });

        // 调用程序菜单栏的方法成员完成菜单的布置

        setupMenu();

        setSize(400, 400);

        setVisible(true);

        }

        // 本方法用以设置程序菜单栏

        public void setupMenu() {

        // 设置一个菜单

        Menu f = new Menu("文件");

        // 往设置的菜单添加菜单项

        MenuItem mi = new MenuItem("打开");

        f.add(mi);

        mi.addActionListener(this);

        f.addSeparator();

        CheckboxMenuItem cbmi = new CheckboxMenuItem("循环", false);

        cbmi.addActionListener(this);

        f.add(cbmi);

        f.addSeparator();

        MenuItem ee = new MenuItem("退出");

        ee.addActionListener(this);

        f.add(ee);

        f.addSeparator();

        Menu l = new Menu("播放列表");

        Menu c = new Menu("播放控制世数誉"毕兄);

        MenuItem move = new MenuItem("播放");

        move.addActionListener(this);

        c.add(move);

        c.addSeparator();

        MenuItem pause = new MenuItem("暂停");

        pause.addActionListener(this);

        c.add(pause);

        c.addSeparator();

        MenuItem stop = new MenuItem("停止"搜段);

        stop.addActionListener(this);

        c.add(stop);

        c.addSeparator();

        // 设置一个菜单栏

        MenuBar mb = new MenuBar();

        mb.add(f);

        mb.add?;

        mb.add(l);

        // 将构造完成的菜单栏交给当前程序的窗口;

        setMenuBar(mb);

        }

        // 动作时间响应成员;捕捉发送到本对象的各种事件;

        public void actionPerformed(ActionEvent e) {

        // TODO Auto-generated method stub

        String cufile, selectfile, currentDirectory;

        if (e.getActionCommand().equals("退出")) {

        // 调用dispose以便执行windowClosed

        dispose();

        return;

        }

        // 此事表明拥护选择了“播放”命令;

        // 如果当前有一个文件可以播放则执行播放命令;

        if (e.getActionCommand().equals("播放")) {

        if (player != null) {

        player.start();

        }

        return;

        }

        // 如果当前正在播放某一文件,则执行暂停;

        if (e.getActionCommand().equals("暂停")) {

        if (player != null) {

        player.stop();

        }

        return;

        }

        // 停止命令的响应;

        if (e.getActionCommand().equals("停止")) {

        if (player != null) {

        player.stop();

        player.setMediaTime(new Time(0));

        }

        return;

        }

        // 用户选择要播放的媒体文件

        if (e.getActionCommand().equals("打开")) {

        FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD);

        // fd.setDirectory(currentDirectory);

        2008-2-6 02:46 回复

        肆方茉莉

        62位粉丝

        6楼

        fd.setVisible(true);

        // 如果用户放弃选择文件,则返回

        if (fd.getFile() == null) {

        return;

        }

        // 保存了所选文件的名称及其路径名称已被稍后使用

        // 同时设置当前文件夹路径

        selectfile = fd.getFile();

        currentDirectory = fd.getDirectory();

        cufile = currentDirectory + selectfile;

        // 将用户选择的文件作为一个菜单项加入播放列表,该菜单项名为该文件名;

        // 被点击后给出的命令串是该文件的全路径名

        MenuItem mi = new MenuItem(selectfile);

        mi.setActionCommand(cufile);

        MenuBar mb = getMenuBar();

        Menu m = mb.getMenu(2);

        mi.addActionListener(this);

        m.add(mi);

        } else {

        // 程序逻辑运行到次表示用户选择了一个“播放列表”中的媒体文件

        // 此时可以通过如下动作获得该文件的全路径名

        cufile = e.getActionCommand();

        selectfile = cufile;

        }

        // 如果存在一个播放器,则先将其关闭,稍后再重新创建

        // 创建播放器时需要捕捉一些异常

        if (player != null) {

        player.close();

        }

        try {

        player = Manager.createPlayer(new MediaLocator("file:" + cufile));

        } catch (Exception e2) {

        System.out.println(e2);

        return;

        }/*

        * catch(NoPlayerException e2){ System.out.println("不能找到播放器");

        * return ; }

        */

        if (player == null) {

        System.out.println("无法创建播放器");

        return;

        }

        first = false;

        setTitle(selectfile);

        // 设置处理播放控制器实际的对象;

        /**/

        player.addControllerListener(this);

        player.prefetch();

        }

        // 菜单状态改变事件的响应函数;

        public void itemStateChanged(ItemEvent arg0) {

        // TODO Auto-generated method stub

        }

        public static void main(String[] args) {

        // TODO Auto-generated method stub

        new MediaPlayer("播放器");

        }

        // 调用绘图函数进行界面的绘制

        // public void update() {

        // }

        // 绘图函数成员

        //public void paint(Graphics g) {

        // }

        public void controllerUpdate(ControllerEvent e) {

        // TODO Auto-generated method stub

        Container tainer = getContentPane();

        // 调用player.close()时ControllerClosedEvent事件出现

        // 如果存在视觉部件,则该部件应该拆除(为了一致起见,我们对控制面版部件也执行同样的操作,下一次需要时再构造)

        if (e instanceof ControllerClosedEvent) {

        if (vc != null) {

        remove(vc);

        vc = null;

        }

        if (cc != null) {

        remove(cc);

        cc = null;

        }

        }

        // 播放结束时,将播放指针置于文件之首,如果设定了循环播放,则再次启动播放器;

        if (e instanceof EndOfMediaEvent) {

        player.setMediaTime(new Time(0));

        if (loop) {

        player.start();

        }

        return;

        }

        // PrefetchCompletEvent事件发生后调用start,正式启动播放

        if (e instanceof PrefetchCompleteEvent) {

        player.start();

        return;

        }

        // 本事件表示由于播放的资源已经确定;此时要将媒体的图形conmopnent

        // 如果有显示出来,同时将播放器player的控制显示到窗口里;

        if (e instanceof RealizeCompleteEvent) {

        // 如果媒体中有图像,将对应图像component载入窗体;

        vc = player.getVisualComponent();

        if (vc != null)

        tainer.add(vc, BorderLayout.CENTER);

        // 将对应控制器component载入窗体;

        cc = player.getControlPanelComponent();

        cc.setBackground(Color.blue);

        if (cc != null)

        tainer.add(cc, BorderLayout.SOUTH);

        // 有一些特殊媒体在播放时提供另外的控制手段,将控制器一并加入窗口;

        /*

        * gc=player.getGainControl(); gcc=gc.getControlComponent();

        * if(gcc!=null) tainer.add(gcc,BorderLayout.NORTH);

        */

        // 根据媒体文件中是否有图像,设定相应的窗口大小

        if (vc != null) {

        pack();

        return;

        } else {

        setSize(300, 75);

        setVisible(true);

        return;

        }

        }

        }

        }

        希望对你有帮助!

              <tbody id='8jm7chyh'></tbody>
            <tfoot id='5bxc5anc'></tfoot>
              • <bdo id='49vyzye9'></bdo><ul id='m2ae8wy0'></ul>
              • <small id='hokjxi4z'></small><noframes id='qzmtyno0'>

                <i id='85u4k6hw'><tr id='l8pas9p2'><dt id='rv4r4gxj'><q id='o6yi3xvz'><span id='b5bmdmbg'><b id='w8hn8z40'><form id='6kqhe7hy'><ins id='67wq7xc7'></ins><ul id='nnt4acfb'></ul><sub id='oeczdlez'></sub></form><legend id='r0vu8104'></legend><bdo id='w5htw0lg'><pre id='cfy1u5yi'><center id='58eqewf6'></center></pre></bdo></b><th id='egzg0lky'></th></span></q></dt></tr></i><div id='t30wjcly'><tfoot id='f69098h9'></tfoot><dl id='ceywaddh'><fieldset id='929uy3in'></fieldset></dl></div>

                  <legend id='2fza10yv'><style id='55yy88uc'><dir id='o152qx7a'><q id='a1jfhrcc'></q></dir></style></legend>

                  上一篇:java写登录程序代码 javaee编写简单登录界面代码

                  栏    目:Java编程

                  下一篇:没有了

                  本文标题:java音乐播放器代码 javaswing音乐播放器

                  本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/17523.html

                  网页制作CMS教程网络编程软件编程脚本语言数据库服务器

                  如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

                  联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

                  Copyright © 2002-2020 脚本教程网 版权所有

                  <small id='m9e15h45'></small><noframes id='wivfm8wf'>

                    1. <legend id='vld4p2y3'><style id='qu7zqcvd'><dir id='8q3hjtuy'><q id='yp7h8z7o'></q></dir></style></legend>
                    2. <tfoot id='bg8x7cxo'></tfoot>
                        <bdo id='cu207z9j'></bdo><ul id='ax98xabv'></ul>

                      <i id='pdtthdpf'><tr id='wx3l0kzs'><dt id='pmq87lbt'><q id='n4w2ja48'><span id='ai9e27j4'><b id='aq2tgjv4'><form id='w78pudci'><ins id='z1qtyo00'></ins><ul id='96npxjzn'></ul><sub id='q8k46xn2'></sub></form><legend id='1b6e4ivi'></legend><bdo id='n7xzrp59'><pre id='mob2jt18'><center id='u1813cg3'></center></pre></bdo></b><th id='n37or5sp'></th></span></q></dt></tr></i><div id='4yze1ig2'><tfoot id='c1ap3m43'></tfoot><dl id='vzjzf1iz'><fieldset id='971n6zqc'></fieldset></dl></div>