2013-09-04 5 views
-3

MP3 파일을 디코딩하는 방법을 말해 줄 수 있습니까?
마찬가지로 미디어 플레이어도 mp3 파일을 디코드하려고하지만 내 작품은 디코드하고 해당 특성을 읽는 것입니다.
이 목적으로 NAudio를 사용할 수 있습니까?
내가 필요로하는 것은 mp3 파일의 RAWDATA입니다. BitArray의 특정 위치에있는 비트의 값을 가져옵니다 :디코딩 MP3 파일

+2

왜 못해? 어떤 오류가 발생합니까? – Arran

+0

질문을하기 전에 errormessage를 읽어야합니다. – CSharpie

+0

실제로 프로그래밍 방식으로 어떻게 해야할지 모르겠습니다. –

답변

1

이 방법을 사용 비트 [인덱스]

예컨대

BitArray bits = new BitArray(FrameByteArray); 
Console.Write(bits[59]); 
0
+0

배열의 특정 비트 (예 : 49 번째 비트)에 액세스하는 방법 –

+0

'bits.Get (49)'라고 말하고 싶습니다. 또는 기술적으로 48 인 경우 49 번째입니다. 그러나 위의 답변도 정확합니다. BitArray는 인덱서도 정의하므로 비트 [48]도 작동합니다. 나는 그 문제가 정직하다는 것을 정말로 보지 못한다. ... –

+0

예 비트 [48]가 작동 중입니다. 고마워요 :) –

0
bool value = bits[149]; 

색인은 0부터 시작한다는 것을 기억하십시오. 당신은 어떤 문제 bits[149]를 사용하여 값을 얻기가해서는 안

MSDN documentation

0

BitArray 클래스는 확실히, 인덱서를 정의합니다. 이 값은 int 대신 bool이 될 것이므로 1/0 대신 true/false을 확인해야합니다. 액세스 할 수있는

+0

모든 비트를 표시했습니다 BitArray 비트 = 새 BitArray (FrameByteArray); foreach (bool b 비트) { if (b == true) { Console.Write ("1"); } else { Console.Write ("0"); } } 이제 인덱스 번호를 사용하여 모든 비트에 액세스 할 수 있습니다. 예를 들어 38 번째 비트에 액세스하려면 어떻게해야합니까? –

+0

@ YasirAwan - 위의 예는 위와 같습니다. BitArray (http://msdn.microsoft.com/en-us/library/system.collections.bitarray.item.aspx)에있는 인덱서를 사용할 수 있습니다.제로에 기반한 인덱스를 사용하여 38 번째 비트를 얻는다는 것을 기억하십시오. 비트 [37]를 사용하십시오. –