`
zhengaihua
  • 浏览: 21859 次
  • 性别: 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)和...

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

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

    win_ce 播放器

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

    Android 开源在线音乐播放器

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

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

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

    监控录像万能播放器

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

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

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

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

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

    屏幕录像专家LEX播放器

    屏幕录像专家LEX播放器是一款专为播放由"屏幕录像专家"软件生成的LEX格式视频文件而设计的专业播放工具。LEX格式是一种专有的、压缩过的视频格式,主要用于存储计算机屏幕活动,包括操作步骤、教程、游戏过程等。...

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

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

    新东方zzflash播放器

    新东方zzflash播放器是一款专为新东方教育科技集团设计的多媒体播放软件,主要用于播放其内部的教育资源,尤其是针对英语教学课程,如赵丽8000等知名课程的课件。这款播放器具备特定的文件格式支持能力,能够顺利...

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

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

    西瓜播放器使用demo

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

    沪江swf课件播放器

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

    url播放器播放url地址

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

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

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

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

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

    最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载.zip

    最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 全新升级的梨花带雨网页音乐播放器现已推出优化修复美化版,并全面开放源代码供您下载。这款播放器采用thinkphp6框架开发,以XPlayerHTML5为基础...

    阿里云直播Android播放器demo

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

Global site tag (gtag.js) - Google Analytics