A simple audio engine for Go with an SDL2 back-end and others to come eventually.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Noah Petherbridge 65068820cb Add go.mod 5 个月前
examples/play Initial code for basic SDL2 audio engine 11 个月前
null Initial code for basic SDL2 audio engine 11 个月前
sdl Initial code for basic SDL2 audio engine 11 个月前
.gitignore Initial code for basic SDL2 audio engine 11 个月前
LICENSE.md Initial code for basic SDL2 audio engine 11 个月前
README.md Initial code for basic SDL2 audio engine 11 个月前
go.mod Add go.mod 5 个月前
interface.go Initial code for basic SDL2 audio engine 11 个月前
null_test.go Initial code for basic SDL2 audio engine 11 个月前

README.md

audio: Simple Audio Engine for Go

Package audio is a simple audio engine for Go that can play some music and sound files. It currently supports an SDL2 (Mixer) driver suitable for use on desktop systems like Linux, Mac OS and Windows, with support to load and play music files (.ogg and .mp3 format, depending on your system libraries) and sound effects (.wav).

Example

See the examples/play/main.go for a simple command-line media player sample that uses the SDL2 engine.

package main

import (
    "time"
    "git.kirsle.net/go/audio/sdl"
)

func main() {
    sfx, err := sdl.New(mix.INIT_MP3 | mix.INIT_OGG)
    if err != nil {
        panic(err)
    }

    // Call once at program startup.
    sfx.Setup()
    defer sfx.Teardown()

    // Load a file from disk.
    music, err := sfx.LoadMusic("filename.mp3")
    if err != nil {
        panic(err)
    }

    // Play it.
    music.Play(0)

    // Wait until done.
    for sfx.Playing() {
        time.Sleep(1 * time.Second)
    }
}

License

MIT.