zoukankan      html  css  js  c++  java
  • 安卓音、视频播放功能简单实现 --Android基础

    1、音乐播放功能

    关键代码:

    MainActivity.java:

    package thonlon.example.cn.musicdemowithoutservice;

    import android.content.pm.PackageManager;
    import android.media.MediaPlayer;
    import android.net.Uri;
    import android.support.annotation.NonNull;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;

    import java.io.IOException;

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_play, btn_pause, btn_stop;
    private MediaPlayer mediaPlayer = new MediaPlayer();//实例化MediaPlayer类

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    iniview();
    initMediaPlayer();
    }

    private void iniview() {
    btn_play = (Button) findViewById(R.id.btn_play);
    btn_pause = (Button) findViewById(R.id.btn_pause);
    btn_stop = (Button) findViewById(R.id.btn_stop);
    btn_play.setOnClickListener(this);
    btn_pause.setOnClickListener(this);
    btn_stop.setOnClickListener(this);
    }


    private void initMediaPlayer() {
    Uri uri = Uri.parse("http://www.nxl123.cn/snh.mp3");//网络中的音乐文件
    try {
    mediaPlayer.setDataSource(this, uri);//音乐文件路径
    mediaPlayer.prepare();//资源文件准备
    } catch (IOException e) {
    e.printStackTrace();
    }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
    case 1:
    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    initMediaPlayer();
    } else {
    Toast.makeText(this, "拒绝权限无法继续使用程序", Toast.LENGTH_SHORT).show();
    finish();
    }
    break;
    default:
    break;
    }
    }

    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn_play:
    if (!mediaPlayer.isPlaying()) {
    mediaPlayer.start();//播放
    }
    break;
    case R.id.btn_pause:
    if (mediaPlayer.isPlaying()) {
    mediaPlayer.pause();//暂停
    }
    break;
    case R.id.btn_stop:
    if (mediaPlayer.isPlaying()) {
    mediaPlayer.reset();//停止
    }
    break;
    default:
    break;
    }
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    if (mediaPlayer != null) {
    mediaPlayer.stop();
    mediaPlayer.release();
    }
    }
    }

    2、视频播放功能(VideoView实现)

     MainActivity.java:

    package thonlon.example.cn.videoplaydemowithoutservice;

    import android.content.pm.PackageManager;
    import android.net.Uri;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.MediaController;
    import android.widget.Toast;
    import android.widget.VideoView;

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_play, btn_pause, btn_replay;
    private VideoView videoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    }

    private void initView() {
    btn_play = (Button) findViewById(R.id.btn_play);
    btn_pause = (Button) findViewById(R.id.btn_pause);
    btn_replay = (Button) findViewById(R.id.btn_replay);
    videoView = (VideoView) findViewById(R.id.vv_show);
    btn_play.setOnClickListener(this);
    btn_pause.setOnClickListener(this);
    btn_replay.setOnClickListener(this);
    initVideoPath();
    }

    private void initVideoPath() {
    //播放本地资源文件
    videoView.setVideoURI(Uri.parse("android.resource://thonlon.example.cn.videoplaydemowithoutservice/"+R.raw.demo));//设置资源路径
    // videoView.setMediaController(new MediaController(this));//播放时点击videoView显示控制条
    }

    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn_play:
    if (!videoView.isPlaying()) {
    videoView.start();//开始播放
    }
    break;
    case R.id.btn_pause:
    if (videoView.isPlaying()) {
    videoView.pause();//暂停播放
    }
    break;
    case R.id.btn_replay:
    if (videoView.isPlaying()) {
    videoView.resume();//重新播放
    }
    break;
    default:
    break;
    }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
    case 1:
    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    initVideoPath();
    } else {
    Toast.makeText(this, "无法播放", Toast.LENGTH_SHORT).show();
    finish();
    }
    }
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    if (videoView != null){
    videoView.suspend();
    }
    }
    }
  • 相关阅读:
    AS3入门教程3流程控制
    C#里面的datagridview的使用
    .NET 2.0 WinForm Control DataGridView 数据绑定
    FLASH实用代码大全
    C#中回滚SQL语句
    AS3工程中的Loading的应用
    AS3类库资源大集合
    Flash(FLV)视频播放器开源代码大集合
    一位高手整理的IIS FAQ
    Flash ActionScript 3编程的总结
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9192920.html
Copyright © 2011-2022 走看看