Documentation
¶
Index ¶
- Constants
- Variables
- func BeepLoadPCM(codec media.Codec) ([]byte, error)
- func DecodeAlawTo(lpcm []byte, alaw []byte) (n int, err error)
- func DecodeUlawTo(lpcm []byte, ulaw []byte) (n int, err error)
- func EncodeAlawTo(alaw []byte, lpcm []byte) (n int, err error)
- func EncodeUlawTo(ulaw []byte, lpcm []byte) (n int, err error)
- func FadeOut(pcmData []byte, props PCMProps, dur time.Duration) error
- func PCMMix(dstBuf []byte, mixedBuf []byte, readBuf []byte) int
- func PCMUnmix(dstBuf []byte, mixedBuf []byte, readBuf []byte)
- func RingtoneLoadPCM(codec media.Codec) ([]byte, error)
- func SilenceDetectRMSframe(frame []byte, sampleRate int, threshold float64) bool
- func WavWrite(w io.Writer, audio []byte, opts WavWriteOpts) (int, error)
- func WavWriteVoipPCM(w io.Writer, audio []byte) (int, error)
- type MonitorPCMReader
- type MonitorPCMStereo
- type MonitorPCMWriter
- type OpusDecoder
- type OpusEncoder
- type PCMDecoder
- type PCMDecoderBuffer
- type PCMDecoderReader
- type PCMDecoderWriter
- type PCMEncoder
- type PCMEncoderWriter
- type PCMProps
- type WavReader
- type WavWriteOpts
- type WavWriter
Constants ¶
View Source
const ( // ITU-T G.711.0 codec supports frame lengths of 40, 80, 160, 240 and 320 samples per frame. FrameSize = 3200 ReadBuffer = 160 // TODO: this type should defined once. For now we have this on sdp package as well FORMAT_TYPE_ULAW = 0 FORMAT_TYPE_ALAW = 8 FORMAT_TYPE_OPUS = 96 )
View Source
const (
WavAudioFormatPCM = 1
)
Variables ¶
View Source
var (
RecordingFlushSize = 4096
)
Functions ¶
func BeepLoadPCM ¶ added in v0.21.0
BeepLoadPCM loads pregenerated beep in PCM format
func RingtoneLoadPCM ¶ added in v0.21.0
RingtoneLoadPCM loads pregenerated ringtone in PCM format
func SilenceDetectRMSframe ¶ added in v0.27.0
RMS Silence detection. Useful for clean audio samples
Types ¶
type MonitorPCMReader ¶ added in v0.17.0
type MonitorPCMReader struct {
// contains filtered or unexported fields
}
func (*MonitorPCMReader) Flush ¶ added in v0.17.0
func (m *MonitorPCMReader) Flush() error
func (*MonitorPCMReader) Read ¶ added in v0.17.0
func (m *MonitorPCMReader) Read(b []byte) (int, error)
func (*MonitorPCMReader) StartTime ¶ added in v0.19.0
func (m *MonitorPCMReader) StartTime(t time.Time)
Monitoring starts with first packet arrived, but you can shift with start time. Ex stream are not continious
type MonitorPCMStereo ¶ added in v0.17.0
type MonitorPCMStereo struct {
MonitorPCMReader
MonitorPCMWriter
PCMFileRead *os.File
PCMFileWrite *os.File
// contains filtered or unexported fields
}
func (*MonitorPCMStereo) Close ¶ added in v0.17.0
func (m *MonitorPCMStereo) Close() error
func (*MonitorPCMStereo) Flush ¶ added in v0.17.0
func (m *MonitorPCMStereo) Flush() error
type MonitorPCMWriter ¶ added in v0.17.0
type MonitorPCMWriter struct {
// contains filtered or unexported fields
}
func (*MonitorPCMWriter) Flush ¶ added in v0.17.0
func (m *MonitorPCMWriter) Flush() error
type OpusDecoder ¶ added in v0.12.0
type OpusDecoder struct {
}
type OpusEncoder ¶ added in v0.12.0
type OpusEncoder struct {
}
type PCMDecoder ¶
type PCMDecoder struct {
// DecoderTo Must know size in advance!
DecoderTo func(lpcm []byte, encoded []byte) (int, error)
// contains filtered or unexported fields
}
func NewPCMDecoder ¶
func NewPCMDecoder(codec uint8) (*PCMDecoder, error)
PCM decoder is streamer implementing io.Reader. It reads from underhood reader and returns decoded codec data This constructor uses default codec supported by media package.
type PCMDecoderBuffer ¶ added in v0.17.0
type PCMDecoderBuffer struct {
PCMDecoderWriter
// contains filtered or unexported fields
}
func (*PCMDecoderBuffer) Init ¶ added in v0.17.0
func (d *PCMDecoderBuffer) Init(codec media.Codec) error
func (*PCMDecoderBuffer) ReadAll ¶ added in v0.17.0
func (d *PCMDecoderBuffer) ReadAll() []byte
func (*PCMDecoderBuffer) ReadFull ¶ added in v0.17.0
func (d *PCMDecoderBuffer) ReadFull() []byte
type PCMDecoderReader ¶ added in v0.7.0
type PCMDecoderReader struct {
PCMDecoder
Source io.Reader
BufSize int
// contains filtered or unexported fields
}
func NewPCMDecoderReader ¶
func NewPCMDecoderReader(codec uint8, reader io.Reader) (*PCMDecoderReader, error)
type PCMDecoderWriter ¶ added in v0.7.0
type PCMDecoderWriter struct {
PCMDecoder
Writer io.Writer
// DecodeBuf should be increased if you are writing bigger chunk of samples
DecodeBuf int
// contains filtered or unexported fields
}
func NewPCMDecoderWriter ¶
func NewPCMDecoderWriter(codec uint8, writer io.Writer) (*PCMDecoderWriter, error)
type PCMEncoder ¶
type PCMEncoder struct {
EncoderTo func(encoded []byte, lpcm []byte) (int, error)
// contains filtered or unexported fields
}
func NewPCMEncoder ¶
func NewPCMEncoder(payloadType uint8) (*PCMEncoder, error)
PCMEncoder encodes data from pcm to codec and passes to writer
type PCMEncoderWriter ¶ added in v0.7.0
type PCMEncoderWriter struct {
PCMEncoder
Writer io.Writer
BufSize int
// contains filtered or unexported fields
}
func NewPCMEncoderWriter ¶ added in v0.7.0
func NewPCMEncoderWriter(payloadType uint8, writer io.Writer) (*PCMEncoderWriter, error)
type WavReader ¶
func NewWavReader ¶
func (*WavReader) ReadHeaders ¶
ReadHeaders reads until data chunk
type WavWriteOpts ¶
type WavWriter ¶
type WavWriter struct {
SampleRate int
BitDepth int
NumChans int
AudioFormat int
W io.WriteSeeker
// contains filtered or unexported fields
}
func NewWavWriter ¶
func NewWavWriter(w io.WriteSeeker) *WavWriter
Click to show internal directories.
Click to hide internal directories.