Ejemplo n.º 1
0
		public async Task Transcode(CancellationToken ct, IWaveStreamProvider stream, Stream targetStream)
		{
			using (var fileWriter = new NAudio.Wave.WaveFileWriter(targetStream, stream.WaveFormat))
			{
				await stream.Stream.CopyToAsync(fileWriter);
			}
		}
Ejemplo n.º 2
0
		public static async Task TranscodeInternal(CancellationToken ct, IWaveStreamProvider stream, Stream targetStream)
		{
			using (var mp3Writer = new NAudio.Lame.LameMP3FileWriter(targetStream, stream.WaveFormat, NAudio.Lame.LAMEPreset.VBR_90))
			{
				await stream.Stream.CopyToAsync(mp3Writer, 81920, ct);
			}
		}
Ejemplo n.º 3
0
		public async Task TranscodeInternal(CancellationToken ct, IWaveStreamProvider stream, Stream targetStream)
		{
			var tempFilename = Path.Combine(Path.GetTempPath(), GetTranscodedFileName(Guid.NewGuid().ToString() + ".extension"));			
			MediaFoundationEncoder.EncodeToMp3(stream, tempFilename, 320000);			
			using (var tempStream = new FileStream(tempFilename, FileMode.Open, FileAccess.Read))
			{
				await tempStream.CopyToAsync(targetStream, 81920, ct);
			}
			File.Delete(tempFilename);
		}
Ejemplo n.º 4
0
		public Task Transcode(CancellationToken ct, IWaveStreamProvider stream, Stream targetStream)
		{
			if (stream == null) throw new ArgumentNullException(nameof(stream));
			if (targetStream == null) throw new ArgumentNullException(nameof(targetStream));
			return TranscodeInternal(ct, stream, targetStream);
		}