player

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2024 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const Channels = 2
View Source
const DisableCheckMediaRestricted = true
View Source
const MaxStateVolume = 65535
View Source
const SampleRate = 44100

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Type EventType
}

type EventType

type EventType int
const (
	EventTypePlaying EventType = iota
	EventTypePaused
	EventTypeStopped
	EventTypeNotPlaying
)

type Player

type Player struct {
	// contains filtered or unexported fields
}

func NewPlayer

func NewPlayer(
	sp *spclient.Spclient, audioKey *audio.KeyProvider,
	normalisationEnabled bool, normalisationPregain float32,
	countryCode *string,
	backend, device, mixer, control string,
	bufferTime, periodCount int,
	externalVolume bool, volumeUpdate chan float32,
) (*Player, error)

FIXME: we should probably use a struct here

func (*Player) Close

func (p *Player) Close()

func (*Player) HasBeenPlayingFor

func (p *Player) HasBeenPlayingFor() time.Duration

func (*Player) NewStream

func (p *Player) NewStream(ctx context.Context, client *http.Client, spotId librespot.SpotifyId, bitrate int, mediaPosition int64) (*Stream, error)

func (*Player) Pause

func (p *Player) Pause() error

func (*Player) Play

func (p *Player) Play() error

func (*Player) PositionMs

func (p *Player) PositionMs() int64

func (*Player) Receive

func (p *Player) Receive() <-chan Event

func (*Player) SeekMs

func (p *Player) SeekMs(pos int64) error

func (*Player) SetPrimaryStream

func (p *Player) SetPrimaryStream(source librespot.AudioSource, paused, drop bool) error

func (*Player) SetSecondaryStream

func (p *Player) SetSecondaryStream(source librespot.AudioSource)

func (*Player) SetVolume

func (p *Player) SetVolume(val uint32)

func (*Player) Stop

func (p *Player) Stop()

type Stream

type Stream struct {
	Source librespot.AudioSource
	Media  *librespot.Media
	File   *metadatapb.AudioFile
}

func (*Stream) Is

func (s *Stream) Is(id librespot.SpotifyId) bool

type SwitchingAudioSource

type SwitchingAudioSource struct {
	// contains filtered or unexported fields
}

func NewSwitchingAudioSource

func NewSwitchingAudioSource() *SwitchingAudioSource

func (*SwitchingAudioSource) Close

func (s *SwitchingAudioSource) Close() error

func (*SwitchingAudioSource) Done

func (s *SwitchingAudioSource) Done() <-chan struct{}

func (*SwitchingAudioSource) PositionMs

func (s *SwitchingAudioSource) PositionMs() int64

func (*SwitchingAudioSource) Read

func (s *SwitchingAudioSource) Read(p []float32) (n int, err error)

func (*SwitchingAudioSource) SetPositionMs

func (s *SwitchingAudioSource) SetPositionMs(pos int64) error

func (*SwitchingAudioSource) SetPrimary

func (s *SwitchingAudioSource) SetPrimary(source librespot.AudioSource)

func (*SwitchingAudioSource) SetSecondary

func (s *SwitchingAudioSource) SetSecondary(source librespot.AudioSource)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL