2015-02-03 8 views
-3

CD 드라이브 트레이를 음악과 동기화하여 만들고 싶습니다. 완전히 열릴 때까지C로 열기 및 닫기 춤 CD #

public class Mainafs 
{ 
    [DllImport("winmm.dll")] 
    public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, 
          int uReturnLength, int hwndCallback); 
    public static void open(string driveLetter) 
    { 
     string returnString = ""; 
     mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter, 
      returnString, 0, 0); 
     mciSendStringA("set drive" + driveLetter + " door open", returnString, 0, 0); 
    } 
    static public void close(string driveLetter) 
    { 
     string returnString = ""; 
     mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter, 
      returnString, 0, 0); 
     mciSendStringA("set drive" + driveLetter + " door closed", returnString, 0, 0); 
    } 
    static public void dance() 
    { 
     for (int i = 0; i<3; i++) 
     { 
      open("f"); 
      close("f"); 
     } 
    } 
    static void Main(string[] args) 
    { 
     System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"rollin.wav"); 
     player.Play();  
     dance(); 
     Console.ReadLine(); 
    } 
} 

그러나,이 트레이를 닫습니다하지 않습니다 는 여기에 지금까지 가지고있는 코드입니다. 트레이를 열 때 방향이 바뀌면 컨트롤 할 수 있어야합니다. 이것이 가능한가요, 그렇다면 어떻게 될까요? 난 당신이 드라이버를 분해하고 n 개의 %의 ​​트레이를 열 수 있는지 확인하고 원하는 것을 할 드라이버를 다시 작성할 필요 추측 http://youtu.be/CtwJvgPJ9xw?t=14s

+2

당신은 화를냅니다 - LOL –

+0

당신이 무엇을 묻고 있는지, 무엇을 하려는지, 또는 그 문제가 확실하지 않습니다. – tnw

+0

@tnw 그가 마지막에 링크 한 뮤직 비디오를 보시겠습니까? 그는 자신의 CD 드라이브 트레이를 열고 닫아서 리듬에 "춤추 기"를 원합니다. 그는 타이밍을 달성하기 위해 트레이의 일부를 열지 못하게 트레이를 임의로 멈추고 싶어합니다. 나는 이것이 전부는 아니더라도 대부분의 드라이브에서 가능할 것이라고 생각하지 않는다. 그리고 나는 이것에 관해 인터넷에서 무엇이든 찾을 수 없다. (아마도 그는 이것을 스스로 만들었고 재미로 그것을 실제로 구현하려고한다.) (몇 개의 드라이브가 * 직접 프로그래밍 된 경우 * 기능을 제공 할 수 있습니다.) ... – andlabs

답변

0

: 여기

노래입니다.