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
@@ -154,6 +154,11 @@ void InputBar::onSendClicked() {
|
||||
#include "audiorecorder.h"
|
||||
#include "voicemessageencoder.h"
|
||||
|
||||
void InputBar::setRecordingContext(const QString& mediaDirBase, const QString& channelId) {
|
||||
m_mediaDirBase = mediaDirBase;
|
||||
m_channelIdForRecord = channelId;
|
||||
}
|
||||
|
||||
void InputBar::onPttPressed() {
|
||||
if (!m_recorder || !m_recorder->isInitialized()) return;
|
||||
m_recorder->startRecording();
|
||||
@@ -179,9 +184,7 @@ void InputBar::onPttReleased() {
|
||||
const std::vector<int16_t>& pcm = m_recorder->buffer();
|
||||
if (pcm.empty()) return;
|
||||
|
||||
QString mediaPath = VoiceEncoder::mediaDir(
|
||||
QString::fromUtf8(qgetenv("CHAT_DATA_DIR").isEmpty() ? "chat_data" : qgetenv("CHAT_DATA_DIR")),
|
||||
"current");
|
||||
QString mediaPath = m_mediaDirBase + "/" + m_channelIdForRecord;
|
||||
VoiceEncoder::ensureMediaDir(mediaPath);
|
||||
|
||||
QString fileName = VoiceEncoder::generateFileName();
|
||||
|
||||
Reference in new issue
Block a user