android 之MediaPlayer MP3播放,VideoView 视频播放,MediaRecorder 录音

1》MeidaPlayer播放指定路径下的MP3文件;

2》MeidaPlayer播放网络上的MP3文件;

3》VideoView 视频播放;

4》MediaRecorder 录音;

 

1》MeidaPlayer播放指定路径下的MP3文件;

MediaPlayer mp=new MediaPlayer();

mp.setDataSource("path");

mp.prepare();

mp.start();

 mp.isLooping;

mp.pause();

mp.reset();

mp.release();

 

MediaPlayer mp=new MediaPlayer();

mp=MediaPlayer.create(demomdplayer01.this,R.Raw.test);    //res/Raw/test.mp3

mp.prepare();

mp.start();

 

 

2》MeidaPlayer播放网络上的MP3文件;

MediaPlayer mp=new MediaPlayer();

Uri uri=Uri.parse(www.cnblogs.com/team/ShenzhenAndroidClub/android.mp3);

mp=MediaPlayer.create(demomdplayer01.this,uri);  

mp.prepare();

mp.start();

 

 

3》VideoView 视频播放

 

VideoView mvd=new VideoView();

  mvd.setVideopath("path");//这两种方法都可以 mvd.setVideoPath("file:///sdcard/love_480320.mp4");

                         //mvd.setVideoURI(Uri.parse("/sdcard/love_480320.mp4"));

 //定义MediaController对象 

 MediaController mediaController = new MediaController(this); 

//把MediaController对象绑定到VideoView上 

 mediaController.setAnchorView(mvd); 

//设置VideoView的控制器是mediaController 

 mvd..setMediaController(mediaController); 

  mvd.requestFocus();

  mvd.start();

  mvd.pause();

   

4> MediaRecorder 录音;

MediaRecorder mr = new MediaRecorder(); 

 mr.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 

 mr.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); 

 mr.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);  
 mr.setOutputFile(file.getAbsolutePath()); 

                    mr.prepare(); 

                    mr.start(); 

                    mr.stop(); 

                    mr.release(); 

 

// 创建录音对象 

    MediaRecorder mr = new MediaRecorder(); 

        // 从麦克风源进行录音 
              mr.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 

             // 设置输出格式 
               mr.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); 

                // 设置编码格式 

                 mr.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);  
                 // 设置输出文件 

                 mr.setOutputFile(file.getAbsolutePath()); 

               try { 

                     // 创建文件 

                   file.createNewFile(); 

                  // 准备录制 

                   mr.prepare(); 

                } catch (IllegalStateException e) { 

                     e.printStackTrace(); 

                } catch (IOException e) { 

                   e.printStackTrace(); 

                } 

                // 开始录制 

               mr.start(); 
               recordButton.setText("录音中……"); 

             } 

        }); 
   

        // 停止按钮点击事件 
         stopButton.setOnClickListener(new View.OnClickListener() { 

            @Override

             public void onClick(View v) { 

                if (mr != null) { 

                    mr.stop(); 

                    mr.release(); 
                    mr = null; 

                   recordButton.setText("录音"); 

                     Toast.makeText(getApplicationContext(), "录音完毕", Toast.LENGTH_LONG).show(); 

                } 

             } 

        });

 

posted @   大树2  阅读(1408)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示