PlayerActivity - GachonCapstoneTeam/TTS_JAVA GitHub Wiki
๐ง PlayerActivity (OriginalActivity & SimplePlayerActivity)
PlayerActivity
๋ ๋ฆฌํฌํธ๋ฅผ TTS ๋ณํํ MP3 ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋์ค ํ๋ ์ด์ด ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
OriginalActivity
๋ ์ฌ์๋ชฉ๋ก ๊ธฐ๋ฐ์ ํ๋ ์ด์ด์ด๋ฉฐ, SimplePlayerActivity
๋ ๋จ์ผ ๋ฆฌํฌํธ์ฉ ๊ฒฝ๋ ํ๋ ์ด์ด์
๋๋ค.
โ ์ฃผ์ ๊ธฐ๋ฅ ์์ฝ
๊ธฐ๋ฅ | ์ค๋ช |
---|---|
์ค๋์ค ์ฌ์ | MP3 ํ์ผ ๊ธฐ๋ฐ MediaPlayer ๋๋ AudioService ์ฌ์ฉ |
์ ์ฒด ํ๋ฉด UI | ๋ฆฌํฌํธ ์ ๋ชฉ/๋ด์ฉ/์นดํ ๊ณ ๋ฆฌ/๋ ์ง ํ์ |
์ฌ์/์ผ์์ ์ง ์ ์ด | ๋ฒํผ ํด๋ฆญ์ผ๋ก ์ค๋์ค ์ ์ด |
SeekBar ์ฐ๋ | ์ฌ์ ์๊ฐ ์งํ๋ฅ ํ์ ๋ฐ ์ด๋ |
PDF ์ฐ๊ฒฐ | ๋ฆฌํฌํธ ์๋ฌธ PDF ๋งํฌ ์ด๊ธฐ |
๋ค์/์ด์ ํธ๋ ์ ์ด | OriginalActivity์์ ์ฌ์๋ชฉ๋ก ์ํ ๊ฐ๋ฅ |
์ข ๋ฃ ์ ์ํ ์ ์ฅ | ์ฌ์ ์์น ๋ฐ ์ฌ์ ์ฌ๋ถ๋ฅผ HomeFragment์ ์ ๋ฌ |
๐ง ์ฃผ์ ๋ก์ง ์ค๋ช
โถ๏ธ ์ค๋์ค ์ฌ์ (๊ณตํต)
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
} else {
mediaPlayer.start();
}
๋๋
audioService.prepareAudio(audioFilePath, 0, true);
SimplePlayerActivity
๋MediaPlayer
๋ฅผ ์ง์ ์ฌ์ฉํ๊ณ ,OriginalActivity
๋AudioService
์ ๋ฐ์ธ๋ฉํ์ฌ ์ฌ์ํฉ๋๋ค.
๐ SeekBar UI ์ ๋ฐ์ดํธ
handler.postDelayed(new Runnable() {
@Override
public void run() {
int current = mediaPlayer.getCurrentPosition();
int total = mediaPlayer.getDuration();
seekBar.setProgress((int)((current / (float) total) * 100));
handler.postDelayed(this, 1000);
}
}, 1000);
OriginalActivity
๋ ์๋น์ค์์ProgressUpdateListener
๋ก,SimplePlayerActivity
๋Handler
๋ก ์ง์ ์๊ฐ ์งํ UI๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
๐ PDF ์ฐ๊ฒฐ ๊ธฐ๋ฅ
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(pdfUrl), "application/pdf");
startActivity(intent);
- PDF URL์ ์ธ๋ถ ์ฑ์ผ๋ก ์ด ์ ์์ผ๋ฉฐ, ์ฑ์ด ์์ ๊ฒฝ์ฐ ์๋ด Toast ํ์.
๐ ํธ๋ ๋๊น (OriginalActivity ์ ์ฉ)
if (trackIndex < itemList.size() - 1) {
trackIndex++;
playTrack(itemList.get(trackIndex));
}
- ๋ค์/์ด์ ํธ๋์ผ๋ก ๋ฆฌ์คํธ ์ด๋ ๋ฐ ํด๋น ์ค๋์ค ์ฌ์.