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));
}
  • ๋‹ค์Œ/์ด์ „ ํŠธ๋ž™์œผ๋กœ ๋ฆฌ์ŠคํŠธ ์ด๋™ ๋ฐ ํ•ด๋‹น ์˜ค๋””์˜ค ์žฌ์ƒ.