File tree 3 files changed +14
-15
lines changed
hardware/arduino/sam/libraries/Audio
examples/SimpleAudioPlayer 3 files changed +14
-15
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,17 @@ void AudioClass::end() {
33
33
free ( buffer);
34
34
}
35
35
36
+ void AudioClass::prepare (int16_t *buffer, int S, int volume){
37
+ uint16_t *ubuffer = (uint16_t *) buffer;
38
+ for (int i=0 ; i<S; i++) {
39
+ // set volume amplitude (signed multiply)
40
+ buffer[i] = buffer[i] * volume / 1024 ;
41
+ // convert from signed 16 bit to unsigned 12 bit for DAC.
42
+ ubuffer[i] += 0x8000 ;
43
+ ubuffer[i] >>= 4 ;
44
+ }
45
+ }
46
+
36
47
size_t AudioClass::write (const uint32_t *data, size_t size) {
37
48
const uint32_t TAG = 0x10000000 ;
38
49
int i;
Original file line number Diff line number Diff line change 18
18
class AudioClass : public Print {
19
19
public:
20
20
AudioClass (DACClass &_dac) : dac(&_dac) { };
21
+ void prepare (int16_t *buffer, int S, int volume);
21
22
void begin (uint32_t sampleRate, uint32_t msPreBuffer);
22
23
void end ();
23
24
Original file line number Diff line number Diff line change @@ -44,8 +44,8 @@ void loop()
44
44
myFile.read (buffer, sizeof (buffer));
45
45
46
46
// Prepare samples
47
- int volume = analogRead ( 2 ) ;
48
- prepare (buffer, S, volume);
47
+ int volume = 1024 ;
48
+ Audio. prepare (buffer, S, volume);
49
49
// Feed samples to audio
50
50
Audio.write (buffer, S);
51
51
@@ -58,20 +58,7 @@ void loop()
58
58
}
59
59
myFile.close ();
60
60
61
-
62
61
Serial.println (" End of file. Thank you for listening!" );
63
62
while (true ) ;
64
63
}
65
64
66
-
67
- void prepare (int16_t *buffer, int S, int volume) {
68
- uint16_t *ubuffer = (uint16_t *) buffer;
69
- for (int i=0 ; i<S; i++) {
70
- // set volume amplitude (signed multiply)
71
- buffer[i] = buffer[i] * volume / 1024 ;
72
- // convert from signed 16 bit to unsigned 12 bit for DAC.
73
- ubuffer[i] += 0x8000 ;
74
- ubuffer[i] >>= 4 ;
75
- }
76
- }
77
-
You can’t perform that action at this time.
0 commit comments