有没有办法制作一个只能播放一次的音频文件?

时间:2016-02-19 21:46:30

标签: windows batch-file audio exe

我正在寻找一种方法来制作一个只能播放一次的音频文件。使用DRM执行此操作会很好,但是如果有一个指南来制作包含音频文件的EXE文件,并且在打开时播放它然后删除它也会起作用。我对编程知之甚少,所以如果这样的事情只能用EXE文件完成,那么我需要一个指南。

我知道如何使用BAT文件执行此操作,但这需要至少两个文件(BAT文件和音频文件),对于我的使用,我需要将其作为单个文件。

有没有办法可以做到这一点,或者有人制作这样的文件?我一直在寻找一种方法来做这个约两个小时,并且什么都没有。

1 个答案:

答案 0 :(得分:0)

这是一个控制台JScript.NET示例,可帮助您入门。但它只会播放base64编码的wav数据。如果你想播放mp3,那会变得有点棘手。

import System;              // for Convert
import System.Media;        // for PlaySync()
import System.IO;           // for MemoryStream
import System.Diagnostics;  // for Process()

var base64EncodedWav:String = "paste your base64-encoded WAV file here",
    audiobytes:byte[] = Convert.FromBase64String(base64EncodedWav),
    stream:MemoryStream = new MemoryStream(audiobytes),
    player:SoundPlayer = new SoundPlayer(stream);

// Play, blocking until finished
player.PlaySync();

// delete self
var self:String = System.Reflection.Assembly.GetExecutingAssembly().Location,
    task:Process = new Process();

print("This message will self-destruct.");

task.StartInfo.FileName = "cmd.exe";
task.StartInfo.Arguments = "/c timeout /t 1 & del /q " + self;
task.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
task.StartInfo.CreateNoWindow = true;
task.Start();