示例#1
0
        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;
        }
示例#2
0
 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);
     }
 }