노래재생바의 오류를 정확히 알았습니다..
보물선
일단 첫번째 노래가 3분 : 30초의 노래고두번째 노래가 3분 : 10초 의 노래라고 치면
첫번째 노래가 재생되고 재생바가 3분 30초까지 갑니다.잘되구요두번째 노래가 재생되면 3분 10초인데 3분 10초까지 가서 재생바가 끝가지가야하는데
3분 30초에서 다음으로 넘어가니 3분 30초의 슬라이더바가 값이 계속 지정되잇는지
3분 10초 지점에서 끝나되 나머지 20초부분은 빈공간으로 됩니다.
반대로
3분 10초의 노래를 먼저 하고 하면 3분10초까지 재생바가끝가지 잘갑니다근데 3분 30초의 노래를 하면 3분 10초에서 재생바가 끝나버려서 20초가 안되니 오류가 나버립니다.
소스 아래 동봉합니다..몇번이고 해결해봣지만 어디부분이 오류인지 모르겠습니다..
Private Sub Check3_Click()If Check3.Value = 1 ThenMsgBox 한곡반복재생을 멈추시려면 체크를 해제하신후 멈추시면 됩니다., vbInformation, 한곡재생ElseEnd IfEnd Sub
Private Sub Command1_Click()
CD1.Filter = 재생가능한파일|*.mp3;*.wav|모든파일|*.*CD1.CancelError = FalseCD1.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorerCD1.ShowOpen
If LstCheck(List2, CD1.FileName) = True ThenMsgBox 이미 리스트에 있는 노래입니다., vbInformation, 중복Elseadd_ListEnd If
Frame1.Caption = 노래 목록 & List1.ListCount & 개
End SubFunction add_List()sFile = Split(CD1.FileName, Chr(0))If UBound(sFile) 0 ThenFor i = 1 To UBound(sFile)List1.AddItem sFile(i)List2.AddItem sFile(0) & \ & sFile(i)Next iElseList1.AdList1.AddItem Left(CD1.FileTitle, Len(CD1.FileTitle) - 4)List2.AddItem CD1.FileNameEnd IfEnd Function
Private Sub Command2_Click()
If List1.List(i) = ThenMsgBox 노래목록을 불러와 주시기 바랍니다., vbInformation, 목록Else
If WindowsMediaPlayer1.URL = ThenMsgBox 노래를 선택해 주시기 바랍니다, vbInformation, 선택ElseTimer1.Enabled = TrueIf Command2.Caption = ▶ ThenWindowsMediaPlayer1.Controls.playCommand2.Caption = ⅡCommand2.ToolTipText = 일시정지Timer2.Enabled = TrueElseIf Command2.Caption = Ⅱ ThenWindowsMediaPlayer1.Controls.pauseCommand2.ToolTipText = 재생Command2.Caption = ▶End IfEnd IfEnd IfEnd Sub
Private Sub Command3_Click()WindowsMediaPlayer1.Controls.stopTimer1.Enabled = FalseLabel1.Caption = 00:00/00:00Command2.Caption = ▶End Sub
Private Sub Command4_Click()On Error Resume NextList1.ListIndex = List1.ListIndex - 1List2.ListIndex = (List2.ListIndex - 1) + 1End Sub
Private Sub Command5_Click()
On Error Resume NextList1.ListIndex = List1.ListIndex + 1List2.ListIndex = (List2.ListIndex - 1) + 1
End Sub
Private Sub Command6_Click()List1.ClearList2.ClearFrame1.Caption = 노래 목록End Sub
Private Sub Command7_Click()On Error Resume NextList1.RemoveItem List1.ListIndexList2.RemoveItem List2.ListIndexEnd SubPrivate Sub Command9_Click()If Command9.Caption = ▶▶ ThenWindowsMediaPlayer1.Controls.fastForwardCommand9.Caption = ◀◀Command9.ToolTipText = 빨리감기정지Timer2.Enabled = TrueElseIf Command9.Caption = ◀◀ ThenCommand9.ToolTipText = 빨리감기WindowsMediaPlayer1.Controls.playCommand9.Caption = ▶▶End IfEnd SubPrivate Sub Slider1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)WindowsMediaPlayer1.settings.volume = Slider1.ValueEnd Sub
Private Sub Slider2_Change()WindowsMediaPlayer1.Controls.currentPosition = Slider2.ValueEnd Sub
Private Sub Timer2_Timer()
If Label1.Caption 00:00/00:00 ThenSlider2.Max = WindowsMediaPlayer1.currentMedia.durationTimer2.Enabled = FalseEnd If
End Sub
Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
If Check1.Value = 1 Then
If NewState = wmppsMediaEnded ThenIf List1.ListCount = List1.ListIndex + 1 ThenList1.ListIndex = 0List2.ListIndex = 0Exit SubEnd IfList2.ListIndex = List1.ListIndex + 1WindowsMediaPlayer1.URL = List2.List(List2.ListIndex)End IfElseEnd If
If Check3.Value = 1 ThenOn Error Resume NextWindowsMediaPlayer1.Controls.playElse
If NewState = wmppsMediaEnded ThenIf List1.ListCount = List1.ListIndex + 1 ThenList1.ListIndex = 0List2.ListIndex = 0Timer1.Enabled = FalseLabel1.Caption = 00:00/00:00Command2.Caption = ▶Exit SubEnd IfList1.ListIndex = List1.ListIndex + 1List2.ListIndex = (List2.ListIndex - 1) + 1WindowsMediaPlayer1.URL = List2.List(List2.ListIndex)End IfLabel2.Caption = 재생 중인 음악 :End If
End Sub
Private Sub List1_Click()
List2.ListIndex = List1.ListIndexWindowsMediaPlayer1.URL = List2.List(List2.ListIndex)WindowsMediaPlayer1.Controls.stopCommand2.Caption = ▶
End SubFunction LstCheck(LstBox As ListBox, StrChk As String) As Boolean If LstBox.ListCount = 0 Then LstCheck = False Exit Function End IfDim i As IntegerFor i = 0& To LstBox.ListCount - 1& If LstBox.List(i) = StrChk Then LstCheck = True Exit Function End IfNext iLstCheck = FalseEnd Function
Private Sub Timer1_Timer()
Label1.Caption = WindowsMediaPlayer1.Controls.currentPositionString & / & WindowsMediaPlayer1.currentMedia.durationStringSlider2.SelStart = WindowsMediaPlayer1.Controls.currentPositionIf WindowsMediaPlayer1.playState = wmppsReady Then WindowsMediaPlayer1.Controls.playLabel2.Caption = 재생 중인 음악 : & List1.List(List1.ListIndex)
If Check2.Value = 1 ThenWindowsMediaPlayer1.settings.mute = TrueElseWindowsMediaPlayer1.settings.mute = FalseEnd IfEnd Sub
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676034 | 이런 창은 어떻게 지우나요? | 수련 | 2024-11-23 |
2676006 | 질문하나더~ | 찬바리 | 2024-11-23 |
2675930 | 작업관리자 차단 | 별빛 | 2024-11-22 |
2675901 | 숫자를 제외한 문자를 어떻게 나타내야될까요? | 진나 | 2024-11-22 |
2675871 | 거의마지막질문인데요 | 아메 | 2024-11-22 |
2675846 | 제가 완성햇는데요 ㅎ; | 거늘 | 2024-11-21 |
2675824 | 타이머. 프로그래스바 코드 질문입니다. (10) | 빛글 | 2024-11-21 |
2675798 | 이걸 머라고해야 할지모르지만 질문합니다 (2) | 리라 | 2024-11-21 |
2675772 | 구구단 함수 질문이요~! (1) | 테이 | 2024-11-21 |
2675746 | exe저장시 런타임53 에러 | 아픔이보여 | 2024-11-20 |
2675718 | ocx 설치법 | 달달한캔디 | 2024-11-20 |
2675630 | ""안에 큰따음표 넣기. | 터전 | 2024-11-19 |
2675519 | 컴파일 오류 ?? | 슬아라 | 2024-11-18 |
2675492 | 비베 수다 사이트채팅 접속방법 | 마법 | 2024-11-18 |
2675463 | ㅠㅠ;; | 지은 | 2024-11-18 |
2675434 | 타이머로 라벨바꾸는거 (2) | 대나무 | 2024-11-18 |
2675386 | 선형보간법 문의 | 나길 | 2024-11-17 |
2675328 | 프로세스 강제종료하는방법좀... (1) | 슬아라 | 2024-11-17 |
2675226 | 폼 관련 질문&버튼 관련질문 (7) | 한울 | 2024-11-16 |
2675194 | 파일 삭제 소스 (4) | AngelsTears | 2024-11-15 |