Android_播放本地或网络音乐
来源:互联网 发布:java throw 编辑:程序博客网 时间:2024/06/14 14:06
简单播放器布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.android_mediaplay_music.MainActivity"> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/seek_main_bar"/> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/image_mian_button" android:src="@android:drawable/ic_media_play" android:onClick="play"/></LinearLayout>Activity编码:
package com.example.android_mediaplay_music;import android.media.AudioManager;import android.media.MediaPlayer;import android.net.Uri;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageButton;import android.widget.SeekBar;import java.io.IOException;public class MainActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; private ImageButton image_mian_button; private SeekBar seek_main_bar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); image_mian_button = (ImageButton) findViewById(R.id.image_mian_button); seek_main_bar = (SeekBar) findViewById(R.id.seek_main_bar); seek_main_bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { int current=seekBar.getProgress(); mediaPlayer.seekTo(current); } }); } public void play(View view){ if (mediaPlayer==null){ //获取本地音乐// mediaPlayer = MediaPlayer.create(this, R.raw.s8); if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ String path=Environment.getExternalStorageDirectory().getAbsolutePath(); mediaPlayer=new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { //获取网络音乐 mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.134:8080/s8.mp3"));// mediaPlayer.prepare(); mediaPlayer.prepareAsync(); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { mediaPlayer.start(); seek_main_bar.setMax(mediaPlayer.getDuration()); image_mian_button.setImageResource(android.R.drawable.ic_media_pause); new MyThread().start(); } }); } catch (IOException e) { e.printStackTrace(); } } }else if (mediaPlayer.isPlaying()){ //如果正在播放音乐 mediaPlayer.pause(); image_mian_button.setImageResource(android.R.drawable.ic_media_play); }else{ image_mian_button.setImageResource(android.R.drawable.ic_media_pause); mediaPlayer.start(); } } class MyThread extends Thread{ @Override public void run() { super.run(); if (seek_main_bar.getProgress()<seek_main_bar.getMax()){ seek_main_bar.setProgress(mediaPlayer.getCurrentPosition()); } } }}
xml配置:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission>
阅读全文
0 0
- Android_播放本地或网络音乐
- android_音乐的播放
- android_音乐播放器
- AVAudioPlayer播放本地音乐AVPlayer播放网络音乐
- android_本地播放器
- Android_使用SoundPool播放音乐
- Android_使用SoundPool播放音乐
- Android本地及网络音乐播放器-播放本地音乐(一)
- AVAudioPlayer本地音乐播放
- 本地音乐播放器
- Android本地音乐播放
- 本地音乐播放器
- 本地音乐播放器
- AVAudioPlayer 播放本地音乐
- 本地音乐播放AVAudioPlayer
- 播放本地音乐
- AVAudioPlayer播放本地音乐
- Android开发本地及网络Mp3音乐播放器(四)实现音乐播放
- Javaweb国际化
- python之logging模块
- Word中试卷各选项提取到Excel对应列
- hihocoder 1121 : 二分图一•二分图判定
- php 无限极分类
- Android_播放本地或网络音乐
- 精通iOS开发第7版pdf+源码
- isreadonly\isenable\visibility三者区别
- BRVAH官方使用指南
- POP动画之让分享界面动起来
- hdu 3033-分组背包
- 怎样设计一个判断流程
- Select下拉框onchange事件获取option的value值
- Spring批量更新