public void Handle(VoiceMessageUploaded message) { Doc voiceMessageDoc = message.VoiceMessageDoc; if (this._doc == null || this._doc.guid == Guid.Empty || this._doc.guid != voiceMessageDoc.guid) { return; } DocPreview preview = this._doc.preview; string str1; if (preview == null) { str1 = null; } else { DocPreviewVoiceMessage audioMsg = preview.audio_msg; str1 = audioMsg != null ? audioMsg.link_ogg : null; } string str2 = str1; if (string.IsNullOrEmpty(str2)) { return; } if (VoiceMessagePlayer.PlayerWrapper.CurrentOriginalSource == this._sourceUriStr) { VoiceMessagePlayer.PlayerWrapper.CurrentOriginalSource = str2; } this._sourceUriStr = str2; int size = (int)this._doc.size; if (!string.IsNullOrEmpty(this._wavFileName)) { MediaLRUCache.Instance.AddLocalFile(this._sourceUriStr, this._wavFileName, size); } this._docOwnerId = voiceMessageDoc.owner_id; this._docId = voiceMessageDoc.id; }
private void PrepareDoc() { try { Doc doc = new Doc(); Guid guid = Guid.NewGuid(); doc.guid = guid; DocPreview docPreview = new DocPreview(); DocPreviewVoiceMessage previewVoiceMessage = new DocPreviewVoiceMessage(); previewVoiceMessage.link_ogg = this._filePath; previewVoiceMessage.link_mp3 = this._filePath; previewVoiceMessage.duration = this._duration; List <int> waveform = this._waveform; previewVoiceMessage.waveform = waveform; docPreview.audio_msg = previewVoiceMessage; doc.preview = docPreview; this.SavedDoc = doc; } catch (Exception ex) { Logger.Instance.Error("Failed to prepare doc data", ex); } }