Gratis GO Library för ljuduppspelning och -inspelning
Open Source GO Library som låter mjukvaruutvecklare spela, spela in, koda, läsa och konvertera ljudfiler.
Malgo är ett mycket användbart Open Source mini Go-ljudbibliotek som fullt ut stöder grundläggande såväl som avancerade ljudbehandlingsfunktioner. Biblioteket kan användas på alla större plattformar och har inkluderat många avancerade funktioner för att spela och fånga ljudfiler. Biblioteket är mycket stabilt och har inga buggar eller sårbarheter. Biblioteket kan användas på alla större plattformar som Windows, Linux, macOS, Android med mera.
Malgo-biblioteket har inkluderat flera viktiga funktioner som ljudströmsstöd, uppspelning av ljudfiler, fånga data från din standardmikrofon, stöd för att skicka mer data till enheten för uppspelning, kodning av ingångsljudbytes till PCM, ljudströmsstöd, stöder alla större codecs, tillgång till kamera och många fler. Biblioteket är licensierat under Unlicense License, vilket innebär att alla är fria att kopiera, modifiera, publicera, använda, kompilera, sälja eller distribuera denna programvara.
Komma igång med Malgo
Det rekommenderade sättet att installera Malgo i ditt projekt är att använda GitHub. Använd följande kommando för en smidig installation.
Installera Malgo från GitHub
go get -u github.com/gen2brain/malgo
Fånga ljuddata från mikrofonen via Go
Att fånga en ljudfil hänvisar till en procedur för att läsa mikrofonen och få en signal utanför datorn. En vanlig tillämpning av ljudinsamling är inspelning, till exempel att spela in mikrofoningången till en ljudfil. Malgo-biblioteket ger möjlighet att fånga data från din standardmikrofon tills användaren trycker på enter-knappen. När processen är klar kan användare spara det inspelade ljudet på en extern enhet i de filformat som stöds.
Fånga ljud via Go API
// Capturing will commence writing the samples to the writer until either the
// writer returns an error, or the context signals done.
func Capture(ctx context.Context, w io.Writer, config StreamConfig) error {
deviceConfig := config.asDeviceConfig()
deviceConfig := config.asDeviceConfig(malgo.Capture)
abortChan := make(chan error)
defer close(abortChan)
aborted := false
@@ -32,5 +32,5 @@ func Capture(ctx context.Context, w io.Writer, config StreamConfig) error {
},
}
return stream(ctx, abortChan, malgo.Capture, deviceConfig, deviceCallbacks)
return stream(ctx, abortChan, deviceConfig, deviceCallbacks)
Spela upp ljud via Go Library
Malgo-biblioteket med öppen källkod gör det möjligt för mjukvaruutvecklare att ladda och spela upp ljudfiler med bara ett par rader med Go-kommandon. Biblioteket ger också fullt stöd för att styra flera ljud samtidigt i Go-appar. Det är också möjligt att styra ett specifikt ljud genom att tilldela ett ljud-ID till det och hantera det. För att automatiskt spela upp en ljudfil laddar biblioteket automatiskt ner en hel ljudfil eller förladdar den med metadata.
Spela upp ljudljud via Go API
// Playback will commence playing the samples provided from the reader until either the
// reader returns an error, or the context signals done.
func Playback(ctx context.Context, r io.Reader, config StreamConfig) error {
deviceConfig := config.asDeviceConfig()
deviceConfig := config.asDeviceConfig(malgo.Playback)
abortChan := make(chan error)
defer close(abortChan)
aborted := false
@@ -38,5 +38,5 @@ func Playback(ctx context.Context, r io.Reader, config StreamConfig) error {
},
}
return stream(ctx, abortChan, malgo.Playback, deviceConfig, deviceCallbacks)
return stream(ctx, abortChan, deviceConfig, deviceCallbacks)
Utför enkel blandning via Go API
Ljudmixning är en mycket användbar process för att balansera och redigera inspelade ljudspår för att producera en lämplig blandning av alla ljud som finns på en enda fil. Malgo-biblioteket med öppen källkod ger ett användbart sätt att ladda flera filer och spela upp dem alla samtidigt. När man blandar flera ljud tillsammans behöver användarna bara skapa en enda enhet (inte flera) och sedan blanda ihop ljuden.