@@ -64,55 +64,6 @@ def cmd_mic_start(index=0, start_delay=4096, play_audio=true)
64
64
65
65
print_status ( "Audio File: #{ stream_path } " )
66
66
print_status ( "Streaming..." )
67
-
68
- begin
69
- client . mic . mic_start ( index )
70
- mic_started = true
71
- ::Timeout . timeout ( duration ) do
72
- ::File . open ( stream_path , 'wb' ) do |outfd |
73
- numchannels = 1
74
- sampleratehz = 11025
75
- bitspersample = 16
76
- datasize = 2000000000
77
- subchunk1size = 16
78
- chunksize = 4 + ( 8 + subchunk1size ) + ( 8 + datasize )
79
- byterate = sampleratehz * numchannels * bitspersample / 8
80
- blockalign = numchannels * bitspersample / 8
81
-
82
- BinData ::Int32be . new ( 0x52494646 ) . write ( outfd ) # ChunkID: "RIFF"
83
- BinData ::Int32le . new ( chunksize ) . write ( outfd ) # ChunkSize
84
- BinData ::Int32be . new ( 0x57415645 ) . write ( outfd ) # Format: "WAVE"
85
- BinData ::Int32be . new ( 0x666d7420 ) . write ( outfd ) # SubChunk1ID: "fmt "
86
- BinData ::Int32le . new ( 16 ) . write ( outfd ) # SubChunk1Size
87
- BinData ::Int16le . new ( 1 ) . write ( outfd ) # AudioFormat
88
- BinData ::Int16le . new ( numchannels ) . write ( outfd ) # NumChannels
89
- BinData ::Int32le . new ( sampleratehz ) . write ( outfd ) # SampleRate
90
- BinData ::Int32le . new ( byterate ) . write ( outfd ) # ByteRate
91
- BinData ::Int16le . new ( blockalign ) . write ( outfd ) # BlockAlign
92
- BinData ::Int16le . new ( bitspersample ) . write ( outfd ) # BitsPerSample
93
- BinData ::Int32be . new ( 0x64617461 ) . write ( outfd ) # SubChunk2ID: "data"
94
- BinData ::Int32le . new ( datasize ) . write ( outfd ) # SubChunk2Size
95
- end
96
- stream_index = 0
97
- while client do
98
- if play_audio && ( stream_index == start_delay )
99
- cmd_listen ( stream_path )
100
- end
101
- data = client . mic . mic_get_frame ( quality )
102
- if data
103
- ::File . open ( stream_path , 'a' ) do |f |
104
- f . write ( data )
105
- end
106
- data = nil
107
- end
108
- stream_index += 1
109
- sleep 1
110
- end
111
- end
112
- rescue ::Timeout ::Error
113
- ensure
114
- client . mic . mic_stop if mic_started
115
- end
116
67
end
117
68
118
69
def cmd_mic_stop ( index = 0 )
0 commit comments