Membuat Music Player di SKETCHWARE

Untuk membuat aplikasi Music Player di sketchware, ikuti langkah-langkah yang diberikan di bawah ini. 

1. Buat proyek baru di Sketchware. 

2. Di area LIHAT pada main.xml, tambahkan ListView listview1  dengan tinggi wrap_content, dan berat 1. Tambahkan SeekBar seekbar1 , ImageView imageview1 , dan tiga TextView teksview1 , textview2 , dan textview3 , seperti yang ditunjukkan pada gambar di bawah ini.

3. Buat CustomView mycustom.xml dan tambahkan TextView textview1 , dan ImageView imageview1 di dalamnya. Untuk listview1 pilih mycustom.xml sebagai customView.

4. Tambahkan komponen MediaPlayer mp , komponen Preferensi Bersama sp: sp dan timer komponen Timer .


5. Buat enam Lebih Blok MPcreate (pos), MPstart , dan MPpause untuk MediaPlayer dan searchFolders , getFileList di [FilePath] dan ekstra .


6. Tambahkan tiga variabel angka n, r dan songPosition , dan lima variabel String  currentfile , songMinutes , songSeconds , folder , folderName .

Juga tambahkan  folder List String List  List String fileList  dan allmusic List Map  

7. Dalam acara onCreate , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.

Di sini kami melakukan tindakan berikut: 
i. Buat imageview1 dan progressbar1 GONE . 
ii. Tetapkan SongPosition ke -1 . 
aku aku aku. Jika kunci preferensi bersama "allsongs" kosong, panggil AsyncTask GetSongsTask menggunakan kode berikut: 
(new GetSongsTask()).execute();
i. Buat imageview1 dan progressbar1 GONE . 
ii. Tetapkan SongPosition ke -1 . 
aku aku aku. Jika kunci preferensi bersama "allsongs" kosong, panggil AsyncTask GetSongsTask menggunakan kode berikut: 
(GetSongsTask baru ()) .eksekusi (); 
iv. Jika kunci preferensi bersama "allsongs" tidak kosong, dapatkan semua data dari preferensi bersama kunci sp " allsongs " dan konversi ke allmusic Map Map Tampilkan ListMap allmusicdi listview1 . 

8. Dalam listview1 padaBindCustomView acara, gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.

Di sini kita mendapatkan nama file file mp3 di List Map allmusic dan menampilkannya di textview1 dari CustomView. 

9. Dalam lebih banyak blok MPcreate (pos) , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.





Di sini kami melakukan tindakan berikut: 
i. Atur String currentfile ke file path lagu pada pos di allmusic List Map 

ii. Dapatkan nama lagu dari file saat ini dan tampilkan di textview3 . 

aku aku aku. Jadikan imageview1 terlihat . 

iv. Setel songPosisi ke pos . 

v. Buat MediaPlayer untuk currentfilemenggunakan kode berikut:

mp = MediaPlayer.create(getApplicationContext(), Uri.fromFile(new java.io.File(currentfile)));
vi. Setel OnCompletionListener untuk MediaPlayer menggunakan kode berikut: 
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){

public void onCompletion(MediaPlayer theMediaPlayer){

vii. Setelah menyelesaikan lagu, setel ulang dan lepaskan MediaPlayer, tambah SongPosisi sebanyak 1, lalu buat MediaPlayer untuk SongPosisi yang baru dan mulai MediaPlayer. 

viii. Tutup MediaPlayer OnCompletionListener menggunakan kode berikut: 

}); 
ix. Setel Seekbar maks ke durasi lagu. 

x. Tampilkan durasi lagu di textview2 . 

10. Dalam lebih banyak blok  MPstart , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.


Di sini kami melakukan tindakan berikut: 
i. Mulai mainkan lagu menggunakan blok MediaPlayer start. 
ii. Tampilkan jeda gambar dalam  imageview1 . 
aku aku aku. Gunakan TimerTask , dan setiap 400 ms mengatur kemajuan seekbar1 ke durasi lagu saat ini, dan menampilkan durasi lagu saat ini di textview1 . 

11. Dalam lebih banyak blok  MPpause , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.

Di sini kami melakukan tindakan berikut: 
i. Batalkan Timer. 
ii. Jeda MediaPlayer. 
aku aku aku. Tampilkan gambar putar di  imageview1 . 

12. Dalam event  listview1 onItemClicked , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.

Di sini kami melakukan tindakan berikut: 
i. Jika songPosition adalah -1 , buat MediaPlayer untuk lagu di posisi ListView diklik, dan mulai mainkan lagunya. 
ii. Jika  songPosisi  sama dengan posisi ListView diklik, jeda lagu jika diputar dan mainkan lagu jika ditunda. 
aku aku aku. Jika posisi ListView diklik berbeda dari songPosition , 
  a. jika ada lagu yang diputar maka jeda lagu tersebut, 
  b. atur ulang MediaPlayer, 
  c. lepaskan lagu dari MediaPlayer, 
  d. MembuatMediaPlayer untuk lagu di posisiListView diklik, dan 
  e. Mulai mainkan lagunya. 

13. Dalam event  seekbar1 onStopTrackingTouch , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.


Di sini jika songPosition bukan -1, mainkan lagu dari durasi yang dipilih di seekbar 

14. Di acara  imageview1 onClick , gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.

Di sini kita menjeda lagu jika diputar dan memutar lagu jika dijeda. 

15. Dalam event  imageview2 onClick , gunakan panggilan  AsyncTask GetSongsTask menggunakan kode berikut: 

(new GetSongsTask()).execute();

16. Dalam kejadian  onPause  atau  onStop gunakan blok seperti yang ditunjukkan pada gambar di bawah ini.


Di sini jika  songPosition  bukan -1, dan jika MediaPlayer diputar, maka jeda lagu tersebut. 

PENTING ** ** 
Jika langkah ini menyebabkan kesalahan atau crash, lewati langkah ini. Juga jika Anda ingin terus memutar lagu di latar belakang, lewati langkah ini. 


17. Di Extra Block lainnya , gunakan kode dan blok seperti yang ditunjukkan di bawah ini.



Di sini kami melakukan tindakan berikut: 
i. Tentukan kelas baru  GetSongsTask AsyncTask. 

Kelas privat GetSongsTask meluas AsyncTask <Void, Void, Void> { @ Override void dilindungi onPreExecute () {
 ii. Di onPreExecute , buat  imageview2 GONE dan progressbar1 VISIBLE .Gunakan kode berikut:
iii. Use following code:
}
@Override
protected Void doInBackground(Void... path) {


iv. Dalam doInBackground metode, menetapkan nomor r ke 0, yang jelas allmusic , jelas folderList . Kemudian gunakan  getFileList di [filePath]

blokir untuk mendapatkan lintasan semua lagu dari penyimpanan eksternal ke ListMap allmusic
Setelah itu konversi ListMap allmusic ke Json String dan simpan di preferensi bersama menggunakan kunci " allsongs ". 

v. Gunakan kode untuk mengikuti onProgressUpdate dan onPostExecute metode.

return null;
}
@Override
protected void onProgressUpdate(Void... values) {
}
@Override
protected void onPostExecute(Void param){


dan progressbar1 GONE . Tampilkan ListMap allmusic dalam listview1Bersulang jumlah lagu yang ditambahkan. 

vii. Gunakan kode berikut: 
}

18. Tentukan Lebih Banyak Blok  getFileList di [filePath]   menggunakan blok seperti yang ditunjukkan pada gambar di bawah.



19. Tentukan Lebih Banyak Blok  cariFolder menggunakan blok seperti ditunjukkan pada gambar di bawah.



20. Simpan  dan Jalankan  proyek. Aplikasi Music Player sudah siap.

Komentar

  1. Untuk menampilkan bagian lirik nya gimna bang, dan untuk ambil file nya tuh dari sound atau dari file.?

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Lihat Pie Chart di Sketchware

Buat Aplikasi Stopwatch menggunakan Chronometer di Sketchware