本文整理汇总了Golang中C.ALsizei函数的典型用法代码示例。如果您正苦于以下问题:Golang ALsizei函数的具体用法?Golang ALsizei怎么用?Golang ALsizei使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ALsizei函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RewindSources
func RewindSources(sources ...Source) error {
if len(sources) == 0 {
return nil
}
C.alSourceRewindv(C.ALsizei(C.int(len(sources))), (*C.ALuint)(unsafe.Pointer(&sources[0])))
return GetError()
}
示例2: UnqueueBuffers
func (source Source) UnqueueBuffers(buffers ...Buffer) error {
if len(buffers) == 0 {
return nil
}
C.alSourceUnqueueBuffers(source.source, C.ALsizei(C.int(len(buffers))), (*C.ALuint)(unsafe.Pointer(&buffers[0])))
return GetError()
}
示例3: DeleteBuffers
func DeleteBuffers(toDelete ...Buffer) error {
if len(toDelete) == 0 {
return nil
}
C.alDeleteBuffers(C.ALsizei(C.int(len(toDelete))), (*C.ALuint)(unsafe.Pointer(&toDelete[0])))
return GetError()
}
示例4: LoadMemoryFromFileImage
func LoadMemoryFromFileImage(data interface{}, length int) (
format al.ALenum, size int32, frequency float32, rdata unsafe.Pointer) {
rdata = C.alutLoadMemoryFromFileImage(
ptr(data), C.ALsizei(length),
(*C.ALenum)(&format),
(*C.ALsizei)(&size),
(*C.ALfloat)(&frequency),
)
return
}
示例5: GenBuffers
func GenBuffers(numBuffers int) ([]Buffer, error) {
if numBuffers == 0 {
return nil, nil // AL guarantees that 0 will have no effect, so we'll save ourselves the C call
}
buf := make([]Buffer, numBuffers)
C.alGenBuffers(C.ALsizei(C.int(numBuffers)), (*C.ALuint)(unsafe.Pointer(&buf[0]))) // Since a Buffer is a struct{C.ALuint} an array of Buffers is an array of ALuints
if err := GetError(); err != nil {
return nil, err
}
return buf, nil
}
示例6: DeleteBuffers
func DeleteBuffers(buffers []*Buffer) {
n := len(buffers)
bufferIds := make([]C.ALuint, n)
for i, v := range buffers {
forgetBuffer(v)
bufferIds[i] = v.handle
}
C.walDeleteBuffers(C.ALsizei(n), unsafe.Pointer(&bufferIds[0]))
return
}
示例7: GenSources
func GenSources(numSources int) ([]Source, error) {
if numSources == 0 {
return nil, nil // AL guarantees that 0 will have no effect, so we'll save ourselves the C call
}
buf := make([]Source, numSources)
C.alGenSources(C.ALsizei(C.int(numSources)), (*C.ALuint)(unsafe.Pointer(&buf[0])))
if err := GetError(); err != nil {
return nil, err
}
return buf, nil
}
示例8: GenBuffers
func GenBuffers(n int) (buffers []*Buffer) {
bufferIds := make([]C.ALuint, n)
C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&bufferIds[0]))
if GetError() != AlNoError {
return
}
buffers = make([]*Buffer, n)
for i, v := range bufferIds {
b := new(Buffer)
b.handle = v
rememberBuffer(b)
buffers[i] = b
}
return
}
示例9: LoadPCMData
func (s *Sound) LoadPCMData() {
format := 0
if s.Channels > 1 {
switch s.BitsPerSample {
case 8:
format = C.AL_FORMAT_STEREO8
case 16:
format = C.AL_FORMAT_STEREO16
}
} else {
switch s.BitsPerSample {
case 8:
format = C.AL_FORMAT_MONO8
case 16:
format = C.AL_FORMAT_MONO16
}
}
C.alGenBuffers(1, &s.buffer)
C.alBufferData(s.buffer, C.ALenum(format), unsafe.Pointer(&s.Data[0]), C.ALsizei(s.Size), C.ALsizei(s.Frequency))
}
示例10: NewBuffers
// NewBuffers() creates n fresh buffers.
// Renamed, was GenBuffers.
func NewBuffers(n int) (buffers []Buffer) {
buffers = make([]Buffer, n)
C.walGenBuffers(C.ALsizei(n), unsafe.Pointer(&buffers[0]))
return
}
示例11: PauseSources
// Renamed, was SourcePausev.
func PauseSources(sources []Source) {
C.walSourcePausev(C.ALsizei(len(sources)), unsafe.Pointer(&sources[0]))
}
示例12: RewindSources
// Renamed, was SourceRewindv.
func RewindSources(sources []Source) {
C.walSourceRewindv(C.ALsizei(len(sources)), unsafe.Pointer(&sources[0]))
}
示例13: StopSources
// Renamed, was SourceStopv.
func StopSources(sources []Source) {
C.walSourceStopv(C.ALsizei(len(sources)), unsafe.Pointer(&sources[0]))
}
示例14: PlaySources
// Renamed, was SourcePlayv.
func PlaySources(sources []Source) {
C.walSourcePlayv(C.ALsizei(len(sources)), unsafe.Pointer(&sources[0]))
}
示例15: alDeleteBuffers
func alDeleteBuffers(b []Buffer) {
C.call_alDeleteBuffers(alDeleteBuffersFunc, C.ALsizei(len(b)), (*C.ALuint)(unsafe.Pointer(&b[0])))
}