Rumah > Artikel > pembangunan bahagian belakang > Golang melaksanakan main balik muzik
Dalam masyarakat moden, orang ramai memberi lebih banyak perhatian kepada kualiti hidup, dan muzik, sebagai satu bentuk hiburan yang penting, telah mendapat perhatian dan kasih sayang yang meluas. Dalam proses merealisasikan main balik muzik, terdapat banyak kaedah dan alat. Antaranya, golang, sebagai salah satu bahasa pengaturcaraan yang sangat popular sejak beberapa tahun kebelakangan ini, juga boleh digunakan untuk melaksanakan main balik muzik. Artikel ini akan memperkenalkan secara terperinci cara menggunakan golang untuk melaksanakan main balik muzik, termasuk penyediaan, pelaksanaan kod dan paparan kesan.
1. Persediaan
Sebelum anda mula menulis kod golang, anda perlu menyediakan beberapa perisian dan perpustakaan. Secara khusus, anda perlu menggunakan bahasa golang untuk pengaturcaraan dan perpustakaan SDL untuk melaksanakan main balik muzik. Berikut ialah langkah pemasangan khusus:
Mula-mula, anda perlu memasang persekitaran bahasa golang. Pakej pemasangan yang sepadan boleh dimuat turun dari laman web rasmi (https://golang.org/dl/). Mengikut sistem pengendalian yang berbeza, pilih pakej pemasangan yang sepadan untuk dimuat turun, dan ikut wizard pemasangan untuk memasang. Selepas pemasangan selesai, masukkan arahan berikut untuk menyemak sama ada pemasangan berjaya:
go version
Jika maklumat versi muncul, bermakna golang telah berjaya dipasang.
Dalam golang, anda boleh menggunakan pustaka SDL untuk melaksanakan main balik muzik. Untuk memasang pustaka SDL, anda perlu menggunakan arahan berikut:
go get -v github.com/veandco/go-sdl2/{sdl,mix}
Perintah ini akan memasang SDL dan pustaka berkaitannya, termasuk pengadun SDL, melalui perpustakaan go-sdl2.
2. Pelaksanaan kod
Seterusnya kita akan mula menulis kod golang untuk melaksanakan main balik muzik. Langkah khusus adalah seperti berikut:
Dalam fail permulaan untuk menulis kod, anda perlu mengimport pustaka yang sepadan. Khususnya, perpustakaan github.com/veandco/go-sdl2/sdl
dan github.com/veandco/go-sdl2/mix
perlu diimport.
Sebelum menggunakan perpustakaan SDL, ia perlu dimulakan. Oleh itu, kami perlu menambah kod berikut pada kod kami:
if err := sdl.Init(sdl.INIT_AUDIO); err != nil { panic(err) } defer sdl.Quit()
Kod ini akan memulakan audio dan mematikannya secara automatik apabila program tamat. Selepas memasang pustaka SDL, anda boleh menguji sama ada contoh berjalan dengan betul:
go run file.go
Sebelum memainkan muzik, anda perlu memuatkan fail muzik ke dalam program . Fail muzik boleh dimuatkan dengan menggunakan kaedah sdl.mixer
pustaka LoadWAV()
. Berikut ialah kod khusus:
wav, err := mix.LoadWAV("music.wav") if err != nil { panic(err) } defer wav.Free()
Di sini kami menggunakan fail muzik bernama "music.wav". Perlu diingatkan bahawa sdl.mixer hanya menyokong format fail wav.
Selepas memuatkan fail muzik, kami boleh menggunakan kaedah sdl.mixer
pustaka PlayChannel()
untuk memainkan muzik. Berikut ialah kod khusus:
channel, err := mix.PlayChannel(-1, wav, 0) if err != nil { panic(err) } defer channel.Halt()
Antaranya, kami menggunakan -1
sebagai nombor saluran, yang bermaksud saluran yang tersedia dipilih secara automatik. Perlu diingatkan di sini bahawa sdl.mixer hanya boleh memainkan sehingga 32 saluran audio pada masa yang sama. Oleh itu, sebelum memainkan audio, anda perlu memastikan bahawa semua 32 saluran audio tidak berpenghuni.
Kod di atas akan memainkan fail muzik "music.wav" di latar belakang program. Jika anda ingin mengawal main balik dan jeda muzik, anda boleh menggunakan channel.Pause()
, channel.Resume()
, channel.Halt()
dan kaedah lain untuk mencapai matlamat ini.
3. Paparan kesan
Selepas melengkapkan langkah di atas, kita boleh mula menjalankan kod untuk merealisasikan main balik muzik. Berikut ialah kesan paparan khusus:
package main import ( "fmt" "os" "github.com/veandco/go-sdl2/mix" "github.com/veandco/go-sdl2/sdl" ) func main() { if err := sdl.Init(sdl.INIT_AUDIO); err != nil { panic(err) } defer sdl.Quit() if err := mix.OpenAudio(22050, mix.DEFAULT_FORMAT, 2, 4096); err != nil { panic(err) } defer mix.CloseAudio() wav, err := mix.LoadWAV("music.wav") if err != nil { panic(err) } defer wav.Free() channel, err := mix.PlayChannel(-1, wav, 0) if err != nil { panic(err) } fmt.Println("Press any key to stop...") for { if sdl.WaitEvent(nil) == nil { break } } channel.Halt() }
Kod di atas melaksanakan memainkan fail muzik "music.wav" di latar belakang program. Anda boleh menyimpan kod sebagai "go-music.go" dan kemudian jalankannya melalui arahan berikut:
go run go-music.go
Melalui operasi di atas, fungsi main balik muzik boleh dilaksanakan dengan jayanya.
Ringkasan
Menggunakan golang untuk melaksanakan main balik muzik ialah kerja yang sangat menarik. Walaupun golang bukan bahasa yang direka khusus untuk main balik muzik, ia boleh menjadi sangat mudah untuk melaksanakan main balik muzik dengan menghubungi perpustakaan SDL. Melalui pengenalan artikel ini, anda boleh belajar cara menggunakan golang untuk melaksanakan main balik muzik, yang menyediakan rujukan untuk pembangunan projek main balik muzik anda.
Atas ialah kandungan terperinci Golang melaksanakan main balik muzik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!