private void Play(MemoryStream buffer)
		{
			if (buffer == null)
				throw new ArgumentNullException("buffer");

			using (var storageFolder = IsolatedStorageFile.GetUserStoreForApplication())
			{
				if (!string.IsNullOrEmpty(_fileName) && storageFolder.FileExists(_fileName))
					storageFolder.DeleteFile(_fileName);
			}

			Dispatcher.BeginInvoke(
				() =>
					{
						using (var storageFolder = IsolatedStorageFile.GetUserStoreForApplication())
						{
							_fileIndex++;
							_fileName = _fileIndex + ".wav";

							var bytes = buffer.GetWavAsByteArray(_micRecorder.SampleRate);

							using (var stream = storageFolder.CreateFile(_fileName))
							{
								stream.Write(bytes, 0, bytes.Length);
							}

							if (!storageFolder.FileExists(_fileName))
								return;

							using (var stream = new IsolatedStorageFileStream(_fileName, FileMode.Open, storageFolder))
							{
								playBack.SetSource(stream);

								playBack.Play();
							}
						}
					});
		}
Example #2
0
        private void SaveTempAudio(MemoryStream buffer)
        {
            // Be defensive... trust one one & nothing!
            if (buffer == null)
            {
                throw new ArgumentNullException("Attempting a save an empty sound buffer.");
            }

            //Clean out the AudioPlayer's hold on our audioStream
            if (_audioStream != null)
            {
                AudioPlayer.Stop();
                AudioPlayer.Source = null;
                _audioStream.Dispose();
            }

            var bytes = buffer.GetWavAsByteArray(_recorder.SampleRate);

            using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isoStore.FileExists(_tempFileName))
                {
                    isoStore.DeleteFile(_tempFileName);
                }
                _tempFileName = string.Format("{0}.wav", DateTime.Now.ToFileTime());

                _audioStream = isoStore.CreateFile(_tempFileName);
                _audioStream.Write(bytes, 0, bytes.Length);

                // Play ... SetSource of a MediaElement
                AudioPlayer.SetSource(_audioStream);
            }
        }
        private void SaveTempAudio(MemoryStream buffer)
        {
            //Be defensive
            if (buffer == null)
                throw new ArgumentNullException("Saving an empty buffer.");
            //Clear AudioPlayer's hold on audioStream
            if (_audioStream != null)
            {
                AudioPlayer.Stop();
                AudioPlayer.Source = null;
                _audioStream.Dispose();
            }

            var bytes = buffer.GetWavAsByteArray(_recorder.SampleRate);
            using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
            {

                if (isoStore.FileExists(_tempFileName)) isoStore.DeleteFile(_tempFileName);

                _tempFileName = string.Format("{0}.wav", DateTime.Now.ToFileTime());
                _audioStream = isoStore.CreateFile(_tempFileName);
                _audioStream.Write(bytes, 0, bytes.Length);

                // Play
                AudioPlayer.SetSource(_audioStream);
            }
        }
Example #4
0
        private void SaveTempAudio(MemoryStream buffer)
        {
            if (_audioStream != null)
            {
                AudioPlayer.Stop();
                AudioPlayer.Source = null;
                _audioStream.Dispose();

            }
            if (buffer == null)
                throw new ArgumentNullException("Attempting to save an empty sound buffer...!!!!");

            var bytes = buffer.GetWavAsByteArray(_recorder.SampleRate);
            using (IsolatedStorageFile isostore = IsolatedStorageFile.GetUserStoreForApplication())
            {

                if (isostore.FileExists(tempfilename))
                    isostore.DeleteFile(tempfilename);

                tempfilename = string.Format("{0}.wav", DateTime.Now.ToFileTime());
                _audioStream = isostore.CreateFile(tempfilename);
                _audioStream.Write(bytes, 0, bytes.Length);

                AudioPlayer.SetSource(_audioStream);

            }
        }