【发布时间】:2014-01-19 12:26:17
【问题描述】:
我正在尝试在 windows phone 中制作一个执行音频隐写术的应用程序。为此,我将 FLAC 流转换为 WAV 流,以便轻松更改数据字节。
我将 FlacBox 编译为 WP 类库并删除 [Serializable],因为我不知道用什么来更改它。
public List<byte> ReadToEnd(System.IO.Stream streams)
{
using (WaveOverFlacStream wav = new WaveOverFlacStream(new FlacReader(streams, false)))
{
try
{
long originalPosition = 0;
if (wav.CanSeek)
{
originalPosition = wav.Position;
wav.Position = 0;
}
try
{
byte[] readBuffer = new byte[4096];
int totalBytesRead = 0, bytesRead;
if (wav.CanRead)
while ((bytesRead = wav.Read(readBuffer, totalBytesRead, readBuffer.Length - totalBytesRead)) > 0)
{// never pass this
totalBytesRead += bytesRead;
if (totalBytesRead == readBuffer.Length)
{
...
wav 仅返回 19MB 中的 44 个字节
82,73,70,70,20,9,49,1,87,65,86,69,102,109,116,32,16,0,0,0,1,0,2,0,68,172,0,0,16,177,2,0,4,0,16,0,100,97,116,97,240,8,49,1
我将这些字节转换为 ASCII 并获得了 RIFF/WAVE 标头,但我仍然没有音频数据。我错过了什么?
编辑:我使用[DataContract] 更改[Serializable] 但仍然错误。
【问题讨论】:
标签: c# audio windows-phone-8 flacbox