查看完整版本: 音源讀取問題
頁: [1]

h4674156 發表於 2016-11-23 10:33 PM

音源讀取問題

本帖最後由 h4674156 於 2016-11-24 01:18 AM 編輯

各位前輩好
在網上有找到相關音樂播放器的範例
想詢問該怎麼讀取網路上音樂然後以seekbar顯示進度
增加兩個textview分別為計時及音樂總時間

以下為我的code:


import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.io.IOException;

import static tw.edu.ctust.f10308023.mismediaplayer.R.id.btnBackward;
import static tw.edu.ctust.f10308023.mismediaplayer.R.id.btnPlay;

public class Player_one extends AppCompatActivity {
    private ImageButton ib1, ib2, ib3;
    ImageView iv;
    private MediaPlayer mediaPlayer;
    private Handler myHandler = new Handler();
    private int forwardTime = 5000;
    private int backwardTime = 5000;
    private double startTime = 0;
    private double finalTime = 0;
    private TextView tx1, tx2, tx3;

    private int seekForwardTime = 5000; // 5000 milliseconds
    private int seekBackwardTime = 5000; // 5000 milliseconds

    String AudioURL = "http://k003.kiwi6.com/hotlink/hyzvh0ugcl/cytussaika.mp3";

    MediaPlayer mediaplayer;

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

        iv = (ImageView) findViewById(R.id.imageView);
        ib1 = (ImageButton) findViewById(btnPlay);//播放
        ib2 = (ImageButton) findViewById(btnBackward);//倒轉
        ib3 = (ImageButton) findViewById(R.id.btnForward);//快轉
        tx1 = (TextView) findViewById(R.id.songCurrentDurationLabel);
        tx2 = (TextView) findViewById(R.id.songTotalDurationLabel);
        tx3 = (TextView) findViewById(R.id.songTitle);
        tx3.setText("Cytus-saika");
        View v = findViewById(R.id.player_footer_bg);
        v.getBackground().setAlpha(75);//0~255透明度值

        mediaplayer = new MediaPlayer();
        mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        

        ib1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated catch block

                if (mediaplayer.isPlaying()) {
                    mediaplayer.pause();
                    ib1.setImageResource(R.drawable.play);
                } else {
                    mediaplayer.start();
                    ib1.setImageResource(R.drawable.pause);
                }


                try {

                    mediaplayer.setDataSource(AudioURL);
                    mediaplayer.prepare();

                } catch (IllegalArgumentException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (SecurityException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        });
                ib2.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // get current song position
                int currentPosition =mediaplayer.getCurrentPosition();
                // check if seekBackward time is greater than 0 sec
                if(currentPosition - seekBackwardTime >...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>
頁: [1]