Package wav provides WAV (RIFF) decoder.



This section is empty.


This section is empty.


This section is empty.


type Stream

type Stream struct {

	// contains filtered or unexported fields


Stream is a decoded audio stream.

func Decode

func Decode(context *audio.Context, src io.ReadSeeker) (*Stream, error)

Decode decodes WAV (RIFF) data to playable stream.

The format must be 1 or 2 channels, 8bit or 16bit little endian PCM. The format is converted into 2 channels and 16bit.

Decode returns error when decoding fails or IO error happens.

Decode automatically resamples the stream to fit with the audio context if necessary.

A Stream doesn't close src even if src implements io.Closer. Closing the source is src owner's responsibility.

func (*Stream) Length

func (s *Stream) Length() int64

Length returns the size of decoded stream in bytes.

func (*Stream) Read

func (s *Stream) Read(p []byte) (int, error)

Read is implementation of io.Reader's Read.

func (*Stream) Seek

func (s *Stream) Seek(offset int64, whence int) (int64, error)

Seek is implementation of io.Seeker's Seek.

Note that Seek can take long since decoding is a relatively heavy task.

Source Files