Mercurial > octave-nkf
comparison scripts/audio/@audiorecorder/audiorecorder.m @ 19543:2a16dac2176f
fix audioplayer tests
* audiodevinfo.cc, @audioplayer/audioplayer.m,
@audiorecorder/audiorecorder.m: Fix tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 31 Dec 2014 15:38:13 -0500 |
parents | dac3191a5301 |
children | 5802ea7037d4 |
comparison
equal
deleted
inserted
replaced
19542:bf27e21f0bfb | 19543:2a16dac2176f |
---|---|
39 recorder.recorder = __recorder_audiorecorder__ (varargin{:}); | 39 recorder.recorder = __recorder_audiorecorder__ (varargin{:}); |
40 recorder = class (recorder, "audiorecorder"); | 40 recorder = class (recorder, "audiorecorder"); |
41 endfunction | 41 endfunction |
42 | 42 |
43 %!test | 43 %!test |
44 %! recorder = audiorecorder (44100, 16, 2); | 44 %! recorder = audiorecorder (44100, 16, 2); |
45 %! recordblocking (recorder, 1); | 45 %! recordblocking (recorder, 1); |
46 %! data = getaudiodata (recorder, "int16"); | 46 %! data = getaudiodata (recorder, "int16"); |
47 %! assert (strcmp (class (data), "int16")); | 47 %! assert (strcmp (class (data), "int16")); |
48 %! data = getaudiodata (recorder, "int8"); | 48 %! data = getaudiodata (recorder, "int8"); |
49 %! assert (strcmp (class (data), "int8")); | 49 %! assert (strcmp (class (data), "int8")); |
50 %! data = getaudiodata (recorder, "uint8"); | 50 %! data = getaudiodata (recorder, "uint8"); |
51 %! assert (strcmp (class (data), "uint8")); | 51 %! assert (strcmp (class (data), "uint8")); |
52 %! assert (size (data)(1), recorder.TotalSamples); | 52 %! assert (size (data)(1), recorder.TotalSamples); |
53 %! assert (size (data)(2), 2); | 53 %! assert (size (data)(2), 2); |
54 %! assert (size (data)(1) != 0); | 54 %! assert (size (data)(1) != 0); |
55 | 55 |
56 %!test | 56 %!test |
57 %! recorder = audiorecorder (44100, 16, 2); | 57 %! recorder = audiorecorder (44100, 16, 2); |
58 %! record (recorder, 1) | 58 %! record (recorder, 1) |
59 %! sleep (2); | 59 %! sleep (2); |
60 %! record (recorder, 1); | 60 %! record (recorder, 1); |
61 %! sleep (2); | 61 %! sleep (2); |
62 %! data = getaudiodata (recorder); | 62 %! data = getaudiodata (recorder); |
63 %! assert (size (data)(1) < 44100 * 2); | 63 %! assert (size (data)(1) < 44100 * 2); |
64 | 64 |
65 %!test | 65 %!test |
66 %! recorder = audiorecorder (44100, 16, 2); | 66 %! recorder = audiorecorder (44100, 16, 2); |
67 %! record (recorder, 1); | 67 %! record (recorder, 1); |
68 %! sleep (2); | 68 %! sleep (2); |
69 %! player1 = audioplayer (recorder); | 69 %! player1 = audioplayer (recorder); |
70 %! player2 = getplayer (recorder); | 70 %! player2 = getplayer (recorder); |
71 %! play (player1); | 71 %! play (player1); |
72 %! sleep (2); | 72 %! sleep (2); |
73 %! play (player2); | 73 %! play (player2); |
74 %! sleep (2); | 74 %! sleep (2); |
75 %! assert (player1.TotalSamples, recorder.TotalSamples); | 75 %! assert (player1.TotalSamples, recorder.TotalSamples); |
76 %! assert (player2.TotalSamples, recorder.TotalSamples); | 76 %! assert (player2.TotalSamples, recorder.TotalSamples); |
77 | 77 |
78 %!test | 78 %!test |
79 %! recorder = audiorecorder; | 79 %! recorder = audiorecorder; |
80 %! set (recorder, {"SampleRate", "Tag", "UserData"}, {8000, "tag", [1, 2; 3, 4]}); | 80 %! set (recorder, {"SampleRate", "Tag", "UserData"}, {8000, "tag", [1, 2; 3, 4]}); |
81 %! assert (recorder.SampleRate, 8000); | 81 %! assert (recorder.SampleRate, 8000); |
82 %! assert (recorder.Tag, "tag"); | 82 %! assert (recorder.Tag, "tag"); |
83 %! assert (recorder.UserData, [1, 2; 3, 4]); | 83 %! assert (recorder.UserData, [1, 2; 3, 4]); |
84 | 84 |
85 %!test | 85 %!test |
86 %! recorder = audiorecorder; | 86 %! recorder = audiorecorder; |
87 %! settable = set (recorder); | 87 %! settable = set (recorder); |
88 %! settable.SampleRate = 8000; | 88 %! settable.SampleRate = 8000; |
89 %! settable.Tag = "tag"; | 89 %! settable.Tag = "tag"; |
90 %! settable.UserData = [1, 2; 3, 4]; | 90 %! settable.UserData = [1, 2; 3, 4]; |
91 %! set (recorder, settable); | 91 %! set (recorder, settable); |
92 %! assert (recorder.SampleRate, 8000); | 92 %! assert (recorder.SampleRate, 8000); |
93 %! assert (recorder.Tag, "tag"); | 93 %! assert (recorder.Tag, "tag"); |
94 %! assert (recorder.UserData, [1, 2; 3, 4]); | 94 %! assert (recorder.UserData, [1, 2; 3, 4]); |
95 | 95 |
96 %!test | 96 %!test |
97 %! recorder = audiorecorder; | 97 %! recorder = audiorecorder; |
98 %! recorder.SampleRate = 8000; | 98 %! recorder.SampleRate = 8000; |
99 %! recorder.Tag = "tag"; | 99 %! recorder.Tag = "tag"; |
100 %! recorder.UserData = [1, 2; 3, 4]; | 100 %! recorder.UserData = [1, 2; 3, 4]; |
101 %! properties = get (recorder, {"SampleRate", "Tag", "UserData"}); | 101 %! properties = get (recorder, {"SampleRate", "Tag", "UserData"}); |
102 %! assert (properties, {8000, "tag", [1, 2; 3, 4]}); | 102 %! assert (properties, {8000, "tag", [1, 2; 3, 4]}); |
103 | 103 |
104 #%!function status = callback_record (sound) | 104 #%!function status = callback_record (sound) |
105 #%! fid = fopen ("record.txt", "at"); | 105 #%! fid = fopen ("record.txt", "at"); |
106 #%! for index = 1:rows(sound) | 106 #%! for index = 1:rows(sound) |
107 #%! fprintf (fid, "%.4f, %.4f\n", sound(index, 1), sound(index, 2)); | 107 #%! fprintf (fid, "%.4f, %.4f\n", sound(index, 1), sound(index, 2)); |
109 #%! fclose (fid); | 109 #%! fclose (fid); |
110 #%! status = 0; | 110 #%! status = 0; |
111 #%!endfunction | 111 #%!endfunction |
112 | 112 |
113 #%!test | 113 #%!test |
114 #%! recorder = audiorecorder (@callback_record, 44100); | 114 #%! recorder = audiorecorder (@callback_record, 44100); |
115 #%! unlink ("record.txt") | 115 #%! unlink ("record.txt") |
116 #%! record (recorder); | 116 #%! record (recorder); |
117 #%! sleep (2); | 117 #%! sleep (2); |
118 #%! stop (player); | 118 #%! stop (player); |
119 #%! s = stat ("record.txt"); | 119 #%! s = stat ("record.txt"); |
120 #%! assert (s.size > 0); | 120 #%! assert (s.size > 0); |
121 | 121 |
122 #%!test | 122 #%!test |
123 #%! recorder = audiorecorder (@callback_record, 44100); | 123 #%! recorder = audiorecorder (@callback_record, 44100); |
124 #%! unlink ("record.txt") | 124 #%! unlink ("record.txt") |
125 #%! record (recorder); | 125 #%! record (recorder); |
126 #%! sleep (2); | 126 #%! sleep (2); |
127 #%! stop (recorder); | 127 #%! stop (recorder); |
128 #%! s = stat ("record.txt"); | 128 #%! s = stat ("record.txt"); |
129 #%! assert (s.size > 0); | 129 #%! assert (s.size > 0); |