본문 바로가기

open coding

open coding. 안드로이드 스튜디오 웹사이트 음악재생

반응형

웹사이트 음악 재생.

 

setDataSource("URL") - try and catch : 음악 data setting

인터넷 권한.(웹사이트 이동해야하니깐.)

 Listenter설정(start and sync 설정 ) : 음악 시작 및 sync 

 .........................

버튼누르면 재생,정지되게 설정 

 

<Manifest> 인터넷 권한주기(웹사이트 음악 재생이니.)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.www.musicurl">

    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

<MainActivity>

package com.www.musicurl;

import androidx.appcompat.app.AppCompatActivity;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {


    //define variables
    private MediaPlayer mediaPlayer;
    private Button playButton;

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

        //connect to xml
        playButton = findViewById(R.id.button1);

        //create mediaPlayer
        mediaPlayer = new MediaPlayer();
        try {
            mediaPlayer.setDataSource("http://buildappswithpaulo.com/music/watch_me.mp3");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //재생 설정
        MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(final MediaPlayer mp) {
                //버튼 클릭시
                playButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if(mp.isPlaying()){   //음악이 재생상태고

                            mp.pause();    // 클릭시 정지
                            playButton.setText("play"); //정지후, 버튼에는 play 텍스트 띄우기.
                        }else{
                            //음악이 정지상태고
                            mp.start();    //클릭시 시작
                            playButton.setText("pause");    //시작후 버튼에는 pause 텍스트 띄우기.
                        }
                    }
                });

            }
        };
        //media listener 적용
        mediaPlayer.setOnPreparedListener(preparedListener);
        mediaPlayer.prepareAsync(); //sync

    }//finish


/* 참고부분

    //정지 method
    public void pauseMusic(){
        if(mediaPlayer != null){    //음악이 존재할때
            mediaPlayer.pause();    //정지
            playButton.setText("play"); //정지후, 버튼에는 play 텍스트 띄우기.
        }
    }

    //재생 method
    public void playMusic(){
        if(mediaPlayer != null){    //음악이 존재할때
            mediaPlayer.start();    //시작
            playButton.setText("pause");    //시작후 버튼에는 pause 텍스트 띄우기.
        }

    }//finish
*/


//앱종료시 음악도 종료되는걸로 설정

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(mediaPlayer != null){
            mediaPlayer.pause();;   //정지
            mediaPlayer.release();  //놓아주다.
        }
    }


}