`
zhengaihua
  • 浏览: 21117 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

播放器

 
阅读更多
package com.example.day11_yinpin2;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

	private TextView tv;
	private Button bf;
	private Button zt;
	private Button tz;
	private Button sy;
	private Button xy;
	private SeekBar see;

	private int currentindex = 0;
	private MediaPlayer mediaPlayer;
	private int sumtime;

	List<String> listsrc = new ArrayList<String>();
	List<String> listname = new ArrayList<String>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Init();
		// 将数据添加到集合中
		listsrc.add("mnt/sdcard/music1.mp3");
		listsrc.add("mnt/sdcard/music2.mp3");
		listname.add("歌曲一");
		listname.add("歌曲二");
	}

	// seekbar设监听
	OnSeekBarChangeListener listener = new OnSeekBarChangeListener() {

		@Override
		public void onStopTrackingTouch(SeekBar seekBar) {
			// TODO Auto-generated method stub

		}

		@Override
		public void onStartTrackingTouch(SeekBar seekBar) {
			// TODO Auto-generated method stub

		}

		@Override
		public void onProgressChanged(SeekBar seekBar, int progress,
				boolean fromUser) {
			mediaPlayer.seekTo(progress);
		}
	};
	public void Init() {
		tv = (TextView) findViewById(R.id.tv);
		bf = (Button) findViewById(R.id.button1);
		zt = (Button) findViewById(R.id.button2);
		tz = (Button) findViewById(R.id.button3);
		sy = (Button) findViewById(R.id.button4);
		xy = (Button) findViewById(R.id.button5);
		see = (SeekBar) findViewById(R.id.seekBar1);
		mediaPlayer = new MediaPlayer();
		bf.setOnClickListener(this);
		zt.setOnClickListener(this);
		tz.setOnClickListener(this);
		sy.setOnClickListener(this);
		xy.setOnClickListener(this);
		see.setOnSeekBarChangeListener(listener);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.button1:
			play();
			break;
		case R.id.button2:
			if (mediaPlayer != null && mediaPlayer.isPlaying()) {
				mediaPlayer.pause();
			} else if (mediaPlayer != null) {
				mediaPlayer.start();
			}
			break;
		case R.id.button3:
			if (mediaPlayer != null) {
				mediaPlayer.stop();
				// 释放
				mediaPlayer.release();
			}
			break;
		case R.id.button4:
			if (currentindex <= 0) {
				Toast.makeText(this, "已经是第一首歌曲", 0);
			return;
			}
			currentindex--;
			play();
			break;
		case R.id.button5:
			if (currentindex >= listsrc.size()-1) {
				Toast.makeText(this, "已经是最后一首歌曲", 0);
			return;
			}
			currentindex++;
			play();
		default:

			break;
		}
	}
	// 播放的方法
	public void play() {		
		try {
			mediaPlayer.setDataSource(listsrc.get(currentindex));
			mediaPlayer.prepare();
			mediaPlayer.start();
			sumtime = mediaPlayer.getDuration();
			// 设置进度条最大进度
			see.setMax(sumtime);
		} catch (Exception e) {
			e.printStackTrace();
		}
		tv.setText(listname.get(currentindex));
	}
}

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="播放" />
    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="暂停/播放" />
    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="停止" />
    <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="上一首" />
    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="下一首" />

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

 

http://www.cnblogs.com/snake-hand/archive/2013/02/22/2922923.html

分享到:
评论

相关推荐

    js音乐播放器音乐播放器

    音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器音乐播放器...

    牛逼的视频播放器和好看的音乐播放器

    在IT领域,开发一款“牛逼的视频播放器和好看的音乐播放器”涉及到多个关键知识点。首先,我们来深入探讨一下视频播放器和音乐播放器的设计与实现。 视频播放器通常需要支持多种视频格式,例如FLV(Flash Video)和...

    播放器-新东方网络课程播放器

    新东方网络课程播放器是一款专为学习者设计的软件,主要支持nce、nef和swf格式的在线视频课程。这些文件格式与新东方的网络教学平台紧密关联,提供了丰富的教育内容,帮助用户在家就能享受高质量的教学资源。 nce...

    一只猫播放器开源无加无授权_播放器p2p开源_P2P播放加速_一只喵播放器_一只猫加速器_东京一只猫播放器_

    【标题】中的“一只猫播放器开源无加无授权”指的是该播放器是基于开源协议发布的,不含有任何商业限制,用户可以自由地使用、修改和分发代码,无需额外的授权费用。"播放器p2p开源"揭示了这个播放器的核心特性,即...

    播放器播放器播放器播放器播放器

    播放器播放器播放器播放器播放器播放器播放器播放器播放器播放器播放器播放器播放器

    win_ce 播放器

    【win_ce 播放器】是一款专为Windows CE操作系统设计的多媒体播放软件,它在手持设备和嵌入式系统中扮演着至关重要的角色。Windows CE是微软开发的一个实时操作系统,用于掌上设备、嵌入式系统和其他小型计算设备。...

    Android 开源在线音乐播放器

    还有简单的密码验证 开发软件:Android StudioAndroid 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器Android 开源在线音乐播放器...

    监控录像万能播放器

    监控录像万能播放器是一种专为处理各类硬盘录像机(DVR)、录像卡所产生的录像文件而设计的专业播放软件。这类播放器通常具有广泛兼容性,能够识别并播放多种不同的视频编码格式,使得用户无需考虑具体录像文件的源...

    h5阿里播放器源码_h5播放_h5阿里播放器源码_bigplay.com_

    《深入解析H5阿里播放器源码:打造流畅的在线视频体验》 在现代互联网技术中,HTML5(H5)已经成为构建富媒体应用的重要工具,尤其在视频播放领域,H5阿里播放器源码因其高效、灵活和跨平台的特点备受青睐。本文将...

    JP播放器(一个32K的播放器什么都能播放).

    《JP播放器:一款全能32K播放器的探索与解析》 在数字音频的世界里,播放器扮演着至关重要的角色。今天我们将深入探讨一款名为“JP播放器”的软件,它号称能播放任何类型的音频文件,即使在低至32Kbps的带宽下也能...

    沪江swf课件播放器

    【沪江swf课件播放器】是一款专为沪江教育平台设计的离线课程播放工具,用户无需进行安装步骤,只需将下载的压缩包文件解压后即可直接使用。这款播放器的主要功能是帮助用户在没有网络连接的情况下也能顺利学习沪江...

    JavaScript基于微信小程序的音乐播放器源码.zip

    JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码JavaScript基于微信小程序的音乐播放器源码...

    微信小程序练手项目-音乐播放器(完整代码)

    微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信小程序练手项目-音乐播放器(完整代码)微信...

    基于Android的音乐播放器设计源码

    本项目是基于Android开发的音乐播放器设计源码,主要使用Java进行开发。项目共包含71个文件,其中XML配置文件17个,PNG图片文件16个,编译后的Java字节码文件13个,WebP图片文件10个,Git忽略配置文件3个,Gradle...

    西瓜播放器使用demo

    西瓜播放器是一款流行的在线视频播放解决方案,尤其在嵌入式网页视频播放方面有着广泛的应用。这个"西瓜播放器使用demo"提供了一个简单的示例,帮助开发者了解如何在浏览器环境中使用该播放器。以下是对相关知识点的...

    小程序源码 音乐播放器后端 (代码源)

    小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 (代码源)小程序源码 音乐播放器后端 ...

    url播放器播放url地址

    标题中的“url播放器播放url地址”指的是一个能够通过输入网络链接(URL)来播放媒体内容的软件。这种播放器通常适用于在线视频或音频流,它允许用户直接通过输入URL来观看或收听互联网上的多媒体资源,而无需下载...

    软件工程JavaWeb课程设计音乐播放器网页项目源代码.zip

    软件工程JavaWeb课程设计音乐播放器网页项目源代码。软件工程JavaWeb课程设计音乐播放器网页项目源代码软件工程JavaWeb课程设计音乐播放器网页项目源代码。软件工程JavaWeb课程设计音乐播放器网页项目源代码软件工程...

    阿里云直播Android播放器demo

    阿里云直播Android播放器Demo是一个专为开发者设计的示例项目,它展示了如何在Android平台上集成和使用阿里云的直播播放器技术。这个Demo对于初次接触阿里直播服务的开发者来说非常有帮助,因为它提供了基本的播放、...

    最好用的视频播放器

    《最佳视频播放器——MP播放器深度解析》 在众多的视频播放软件中,"最好用的视频播放器"无疑是一颗璀璨的明星,尤其以其卓越的性能和资源占用率低的特点深受用户喜爱。这款播放器被称为MP播放器,它不仅能够提供...

Global site tag (gtag.js) - Google Analytics