|
@@ -29,7 +29,7 @@ import (
|
|
|
|
|
|
|
|
|
|
|
|
-type voice struct {
|
|
|
+type Voice struct {
|
|
|
sync.Mutex
|
|
|
Ready bool
|
|
|
Debug bool
|
|
@@ -75,7 +75,7 @@ type voiceHandshakeOp struct {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) Open() (err error) {
|
|
|
+func (v *Voice) Open() (err error) {
|
|
|
|
|
|
|
|
|
|
|
@@ -108,7 +108,7 @@ func (v *voice) Open() (err error) {
|
|
|
}
|
|
|
|
|
|
|
|
|
-func (v *voice) Close() {
|
|
|
+func (v *Voice) Close() {
|
|
|
|
|
|
if v.UDPConn != nil {
|
|
|
v.UDPConn.Close()
|
|
@@ -122,7 +122,7 @@ func (v *voice) Close() {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) wsListen() {
|
|
|
+func (v *Voice) wsListen() {
|
|
|
|
|
|
for {
|
|
|
messageType, message, err := v.wsConn.ReadMessage()
|
|
@@ -142,7 +142,7 @@ func (v *voice) wsListen() {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) wsEvent(messageType int, message []byte) {
|
|
|
+func (v *Voice) wsEvent(messageType int, message []byte) {
|
|
|
|
|
|
if v.Debug {
|
|
|
fmt.Println("wsEvent received: ", messageType)
|
|
@@ -195,7 +195,7 @@ type voiceHeartbeatOp struct {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) wsHeartbeat(i time.Duration) {
|
|
|
+func (v *Voice) wsHeartbeat(i time.Duration) {
|
|
|
|
|
|
ticker := time.NewTicker(i * time.Millisecond)
|
|
|
for {
|
|
@@ -223,7 +223,7 @@ type voiceSpeakingOp struct {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) Speaking(b bool) (err error) {
|
|
|
+func (v *Voice) Speaking(b bool) (err error) {
|
|
|
|
|
|
if v.wsConn == nil {
|
|
|
return fmt.Errorf("No Voice websocket.")
|
|
@@ -263,7 +263,7 @@ type voiceUDPOp struct {
|
|
|
|
|
|
|
|
|
|
|
|
-func (v *voice) udpOpen() (err error) {
|
|
|
+func (v *Voice) udpOpen() (err error) {
|
|
|
|
|
|
host := fmt.Sprintf("%s:%d", strings.TrimSuffix(v.endpoint, ":80"), v.OP2.Port)
|
|
|
addr, err := net.ResolveUDPAddr("udp", host)
|