반응형
웹사이트 음악 재생.
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(); //놓아주다.
}
}
}
'open coding' 카테고리의 다른 글
open coding. 안드로이드 스튜디오 조도센서 illuminance sensor 주변밝기측정 (0) | 2021.01.06 |
---|---|
open coding. 안드로이드 스튜디오 가속도센서 acceleration sensor (0) | 2021.01.05 |
안드로이드 스튜디오 센서 기초 코딩. 센서목록 띄우기. (0) | 2021.01.02 |
open coding. 안드로이드 스튜디오 음악재생 기본코딩/ android studio Media player (0) | 2020.12.18 |
open coding. blinking animation/ fading animation (0) | 2020.12.17 |