|
@@ -4,27 +4,14 @@
|
|
|
#include "log4cpp/FileAppender.hh"
|
|
|
#include "log4cpp/OstreamAppender.hh"
|
|
|
|
|
|
-#include <thread>
|
|
|
-#include <cmath>
|
|
|
-#include <mumlib/Audio.hpp>
|
|
|
+class MyCallback : public mumlib::BasicCallback {
|
|
|
+public:
|
|
|
+ mumlib::Mumlib *mum;
|
|
|
|
|
|
-void audioSenderThreadFunction(mumlib::Mumlib *mum) {
|
|
|
- while (mum->getConnectionState() != mumlib::ConnectionState::FAILED) {
|
|
|
- if (mum->getConnectionState() == mumlib::ConnectionState::CONNECTED) {
|
|
|
- constexpr double FREQUENCY = 1000; // Hz
|
|
|
- constexpr int BUFF_SIZE = mumlib::SAMPLE_RATE / 100; // 10 ms
|
|
|
- int16_t buff[BUFF_SIZE];
|
|
|
-
|
|
|
- for (int i = 0; i < BUFF_SIZE; ++i) {
|
|
|
- buff[i] = 10000 * std::sin(2.0 * M_PI * FREQUENCY * ((double) i) / ((double) mumlib::SAMPLE_RATE));
|
|
|
- }
|
|
|
-
|
|
|
- mum->sendAudioData(buff, BUFF_SIZE);
|
|
|
- }
|
|
|
-
|
|
|
- std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
|
+ virtual void audio(int16_t *pcm_data, uint32_t pcm_data_size) {
|
|
|
+ mum->sendAudioData(pcm_data, pcm_data_size);
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
|
|
|
|
@@ -39,13 +26,12 @@ int main(int argc, char *argv[]) {
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
- mumlib::BasicCallback callback;
|
|
|
- mumlib::Mumlib mum(callback);
|
|
|
+ MyCallback myCallback;
|
|
|
+ mumlib::Mumlib mum(myCallback);
|
|
|
+ myCallback.mum = &mum;
|
|
|
|
|
|
mum.connect(argv[1], 64738, "mumlib_example", argv[2]);
|
|
|
|
|
|
- std::thread audioSenderThread(audioSenderThreadFunction, &mum);
|
|
|
-
|
|
|
mum.run();
|
|
|
|
|
|
return 0;
|