Sabtu, 07 November 2015

Pemutar Musik Linux


    Assalamualaikum wr.wb.

    Kembali lagi di blog sederhana saya ya teman-teman :D
    Untuk kali ini, saya akan memberikan sebuah code sebuah apikasi yang menggunakan thread. Yap, thread. Sebelumnya, saya akan menjelaskan apa itu sebenarnya thread. Oke, langsung saja ya, nggak perlu panjang lebar haha, thread dalam sistem operasi adalah pengontrol aliran program dan pelaksanaan program dengan menggunakan satu buah kendali atau kendali tunggal. Jadi semua proses di sistem operasi akan di kendalikan oleh thread tadi.
    Salah satu keuntungan dari thread adalah sangat ampuh untuk mengoptimalkan prosesor komputer kita. Caranya yaitu dengan menggunakan Hyperthreading. Hyper Threading bekerja dengan cara memberi intruksi melalui software untuk membelah diri (splitting) menjadi beberapa thread (aliran). Teknologi ini menyediakan thread-level paralel di setiap prosesornya yang membuat penggunaan sumber daya menjadi lebih efisien dan bisa membuat beberapa thread uuntuk berjalan di setiap inti (core) prosesor.
    Ya seperti yang sudah saya bilang sebelumnya, saya akan memberikan contoh code yang menggunakan thread tadi. Aplikasi kali ini merupakan sebuah aplikasi multimedia, lebih tepatnya aplikasi pemutar musik. Tapi, sebelum menggunakan aplikasi ini, harus sudah menginstall vlc player di komputer temen-temen semua, karena dasar dari pemutar musiknya adalah vlc player tersebut.
Untuk mendapatkan vlc player nya sendiri bisa di download dan install dari terminal dengan cara ketik “sudo apt-get update” dan “sudo apt-get install vlc vlc-plugin-* mozilla-plugin-vlc”.
    Langsung saja, check this out guys....

#include<stdio.h>
#include<string.h>
#include<pthread.h>
#include<stdlib.h>
#include<unistd.h>

int rawr;
pthread_t tid[2];
char lagu[20];
int t;
char buf[20];

void* player(void *arg)
{
    system(buf);
    system("clear");
}
void* help(void *arg)
{
    char help[5], cmd[15];
    pthread_t id=pthread_self();
    while (1)
    {
        scanf("%s", help);
        if (strcmp(help, "help") == 0)
        {
            while (1)
            {
                printf("Menu\n");
                printf("1. List\t2. Play\t3.Pause\n4. Continue\t5.Stop\n");
                printf("Command : ");
                scanf("%s", cmd);
                if (strcmp(cmd, "Play") == 0)
                {
                    system("clear");
                    scanf("%s", lagu);
                    snprintf(buf, sizeof(buf), "cvlc %s.mp3", lagu);
                    rawr=pthread_create(&(tid[1]), NULL, &player, NULL);
                }
                else if (strcmp(cmd, "List") == 0)
                {
                    system("clear");
                    system("ls | grep .mp3");
                }
                else if (strcmp(cmd, "Pause") == 0)
                {
                    system("clear");
                    scanf("%d", &t);
                    sleep(t);
                    system("pkill -SIGCONT vlc");
                }
                else if (strcmp(cmd, "Continue") == 0)
                {
                    scanf("%d", &t);
                    sleep(t);
                    system("clear");
                    system("pkill - SIGCONT vlc");
                }
                else if (strcmp(cmd, "Stop") == 0)
                {
                    system("clear");
                    scanf("%d", &t);
                    sleep(t);
                    system("pkill vlc");
                }
            }
        }
    }
    return NULL;
}
int main(void)
{
    chdir("Music");
    int i = 0;
        rawr=pthread_create(&(tid[i]),NULL,&help,NULL);
        if (rawr != 0)
            printf("\ncan't create thread : [%s]", strerror(rawr));
        else
            //printf("\n Thread created succesfully\n");
        i++;

    pthread_join(tid[0],NULL);
    pthread_join(tid[1],NULL);
return 0;
}

    Ya itulah source code dari aplikasi pemutar music nya. Akan saya sedikit jelaskan tentang aplikasinya. Jadi, sebelum masuk ke menu, kita harus mengetik “help” untuk mengeluarkan menunya. Setelah itu akan muncul 5 menu yaitu List, Play, Pause, Continue, dan Stop. List digunakan untuk mengetahui apa saja music mp3 yang ada di dalam foder music. Cara kerja Play yaitu dengan mengetikkan “Play[spasi]Judul_lagu”. Selanjutnya untuk menu Pause, Continue, dan Stop ditambah angka di belakangnya yang merupakan hitungan setelah berapa detik dia akan jeda, lanjut, atau berhenti dari pemutar musik teersebut.
    Demikian penjelasan dari saya kali ini, semoga bisa menambah wawasan teman-teman semua dan sampai ketemu lagi di artikel saya selanjutnya :)
    Wassalamualaikum wr.wb.

Tidak ada komentar:

Posting Komentar