rtc_plugins/test_audio_r.py

46 lines
1.2 KiB
Python

import rtc_plugins
import time
import sounddevice as sd
import numpy as np
import mmap
import os
from ctypes import c_int16
import struct
srcUserId = "srcUser12"
destUserId = "destUser12"
srcDisplayName = "srcDisplayName12"
destDisplayName = "destDisplayName12"
srcRoomId = "srcRoom12"
#destRoomId = "destRoomId12"
destRoomId = srcRoomId
srcChannelIndex = 46
destChannelIndex = 47
def my_callback_r(shmName, dataSize, dataCount, sampleRate, numChannels, channelIndex):
print(f"my_callback_r, dataSize:{dataSize}, dataCount:{dataCount}, sampleRate:{sampleRate}, numChannels:{numChannels}, channelIndex:{channelIndex}")
print(f"data:{shmName}")
print("after my_callback_r")
ret = rtc_plugins.init(destUserId, destDisplayName, destRoomId, my_callback_r)
if ret != 0:
print(f"init fail, ret:{ret}")
exit(1)
ret = rtc_plugins.initRecv(destRoomId, srcUserId, destChannelIndex)
if ret != 0:
print(f"initRecv fail, ret:{ret}")
exit(1)
#ret = rtc_plugins.initSend(destRoomId, srcRoomId, srcChannelIndex, 1)
#if ret != 0:
# print(f"initSend fail, ret:{ret}")
# exit(1)
sampleRate = 16000
while True:
frame = rtc_plugins.getListData()
sd.play(frame, sampleRate)
sd.wait()
print(f"get frame:{frame}")
time.sleep(0.005)