fix: voice message display, playback, recording UI, audio settings
- messagelist: parse content_type from JSON when DB column is empty - messagelist: recording indicator (red dot + timer + cancel button) - messagedelegate: editorEvent for play/pause toggle + progress bar - messagedelegate: VoicePlayState tracking with QTimer - InputBar: proper recordingContext (mediaDir + channelId) - DbManager: dbPath() for media directory resolution - AudioRecorder: peakLevel() for mic level meter - VoiceEncoder: codec quality presets (Low/Standard/High) - audiodevicesettingspage: Default device option first - audiodevicesettingspage: mic level meter + test microphone - audiodevicesettingspage: test speaker button - audiodevicesettingspage: codec preset combo (Low/Standard/High) - mainwindow: load opus_codec_preset from ui_state on startup
This commit is contained in:
1 parent
4fde0b0325
commit
850a260aac
14 files changed
+483
-57
No files matched your search
@@ -9,6 +9,7 @@
|
||||
#include "invite_link.h"
|
||||
#include "sound_manager.h"
|
||||
#include "audiorecorder.h"
|
||||
#include "voicemessageencoder.h"
|
||||
#include "animtimer.h"
|
||||
#include "../db/db_manager.h"
|
||||
#include "../transport/utun_node.h"
|
||||
@@ -75,6 +76,7 @@ MainWindow::MainWindow(QWidget *parent, DbManager* db, const QString& cfgPath,
|
||||
{
|
||||
setWindowTitle("Chat");
|
||||
resize(900, 600);
|
||||
if (m_db) m_db->setDbPath(m_cfgDbPath);
|
||||
setupUi();
|
||||
setupTray();
|
||||
setupSoundFromConfig();
|
||||
@@ -202,10 +204,12 @@ void MainWindow::setupSoundFromConfig() {
|
||||
|
||||
if (m_recorder) {
|
||||
m_recorder->init();
|
||||
if (m_db && m_db->isOpen())
|
||||
if (m_db && m_db->isOpen()) {
|
||||
m_recorder->setCaptureDeviceIndex(m_db->getUiStateInt("audio_input_device", -1));
|
||||
qDebug("MainWindow: AudioRecorder initialized (captureDevice=%d)",
|
||||
m_recorder->captureDeviceIndex());
|
||||
VoiceEncoder::setPreset(m_db->getUiStateInt("opus_codec_preset", 1));
|
||||
}
|
||||
qDebug("MainWindow: AudioRecorder initialized (captureDevice=%d, opusPreset=%d)",
|
||||
m_recorder->captureDeviceIndex(), VoiceEncoder::preset());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user