首页 > 解决方案 > Go - int16 切片到字节切片

问题描述

我正在编写一个与 libalsa 交互的 Go 程序。我将 PCM 数据存储在 []int16 切片中,但要调用 libalsa,我需要将其存储在 []byte 切片中。

如何将 []int16 切片转换为 []byte来完成此操作?

标签: gopcmlibalsa

解决方案


你可以试试这个:

package main

import "fmt"
import "bytes"
import "encoding/binary"

func main() {
    nums := [6]int16{2, 3, 5, 7, 11, 13}
    buf := new(bytes.Buffer)
    err := binary.Write(buf, binary.LittleEndian, nums)
    if(err==nil) {
        fmt.Printf("% x", buf.Bytes()) 
    }

}

推荐阅读