Golang中,您可以使用`github.com/pion/rtp`打包RTP音频。以下是一个简单的实现示例: ```go package main import ( "fmt" "io" "os" "time" "github.com/pion/rtp" ) func main() { // 打开音频文件 file, err := os.Open("audio.pcm") if err != nil { panic(err) } defer file.Close() // 创建RTP打包器 p := rtp.NewPacketizer(rtp.DefaultPayloadTypePCMU, 12345, 12345) // 读取音频文件打包RTP buffer := make([]byte, 160) for { n, err := file.Read(buffer) if err != nil && err != io.EOF { panic(err) } if n == 0 { break } p.Push(buffer[:n], time.Now()) for { packet := p.Pop() if packet == nil { break } fmt.Println(packet) // 在这里将RTP发送给接收方 } } } ``` 在此示例中,我们首先打开要发送的音频文件。然后,我们创建一个RTP打包器,并使用默认的PCM音频类型和本地端口号。接下来,我们读取音频文件中的数据,并使用RTP打包器将其打包成RTP。最后,我们将每个RTP发送给接收方。 请注意,此示例仅适用于PCMU格式的音频文件。如果您需要处理其他格式的音频文件,请使用相应的编码器和解码器,并相应地配置RTP打包器。