2016-11-15 10 views
0

에이를 .dss 형식의 오디오 파일을 읽을 수 있습니다. 하지만 오디오 플레이어에서는 재생 중입니다. 여기서는 바이트 배열로 파일을 읽을 수 있습니다.어떻게 코드를</p> <pre><code>byte[] bt = File.ReadAllBytes(Filepath); </code></pre> <p>다음으로, 바이트 배열에이를 .dss 형식의 오디오 파일을 읽을 수 있지만 난 바이트의에 데이터를 얻을 수 없습니다 생각, 내 응용 프로그램에서 바이트 배열

여기에 Snap을 붙이고 있습니다. bt에는 모든 바이트에 대해 255가 표시됩니다.

enter image description here

TIA

+0

이 줄의 결과는 무엇입니까? 중단 점을 배치하고 bt로 작성된 내용을 확인하십시오. – Emad

+0

안녕하세요 @ Emad, Bt가 가진 내 검색어를 Snap으로 업데이트했습니다. –

답변

0

이 File.ReadAllBytes로 문제가되지 않습니다 보장하기 위해, 다음과 같이 스트림을 사용하여 파일을 읽으려고 :

using (var fileStream = new FileStream(FilePath, FileMode.Open, FileAccess.Read)) 
{ 
    byte[] buffer = new byte[fileStream.Length]; 
    fileStream.Read(buffer, 0, (int) fileStream.Length); 
    // use buffer; 
} 

UPDATE를 : 그렇지 않은으로 너무 일해, 당신의 파일에 문제가 있어야합니다. 현재 차단하고 사용할 수있는 프로세스를 찾으십시오. 또한, HEX 편집기로 파일을 열어 실제로 의미있는 데이터가 있는지 확인하십시오. 또한 작동하는지 테스트 할 깨끗한 테스트 응용 프로그램/샌드 박스를 만들 수도 있습니다.

+0

안녕하세요 @ grafgenerator, 나는 또한이 시나리오를 시도하고, 나는 스냅에서 동일한 결과를 얻을. –

+0

2 가지 작업을 시도하십시오. 1) 파일, 오디오 플레이어 등을 사용하는 다른 응용 프로그램을 닫습니다. 2) HEX 편집기에서 파일을 열어 실제로 0xff가 아닌 데이터가 있는지 확인하십시오. – grafgenerator

0

음, Dss 형식은 저작권이 있으며, 이에 대한 많은 정보를 찾을 수 없을 것입니다.

255 또는 0xFF는 Dss 파일에서 바이트가 사용되지 않음을 나타 내기 위해 일반적으로 사용됩니다. Dss 파일의 헤더에 많은 파일이 표시되고 나중에 오디오 부분에서 많은 파일이 표시됩니다.

즉, 표시되는 바이트 83-97의 영역에서 255라는 값은 무언가 잘못되었음을 의미하지는 않습니다.

+0

안녕하세요. @ bernhard-hiller, 감사합니다. 귀하의 정보는 다른 방법으로 읽을 수 있습니까? –

+0

@ user7139732 왜? 새로운 문제가 뭐지? –