Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Probledma con esecuzione video flv
Forum - C# / VB.NET - Probledma con esecuzione video flv

Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 13:23
Domenica, 02/08/2009
Salve a tutti sono appena ritornato da una vacanza da 3 settimane e ho cominciato a portare avanti il mio programma di download video da youtube ma adesso ho riscontrato un problema:
appena cerco di visualizzare il video appena scaricato con una libreria (che ho trovato su internet (http://robydx.altervista.org/DirectX8/ShowLess01.htm) da cui ho scaricato il sorgente x vb6 e poi l'ho convertito in vb.net) mi dice Operazione o metodo non implementato.

Questo è il codice della libreria:
Codice sorgente - presumibilmente VB.NET

  1. Module dShow
  2.     Public DSAudio As QuartzTypeLib.IBasicAudio
  3.     Public DSVideo As QuartzTypeLib.IBasicVideo
  4.     Public DSWindow As QuartzTypeLib.IVideoWindow
  5.     Public DSControl As QuartzTypeLib.IMediaControl
  6.     Public DSPos As QuartzTypeLib.IMediaPosition
  7.  
  8.     Public Const WS_VISIBLE As Integer = &H10000000
  9.  
  10.  
  11.  
  12.     Sub DS_OpenFile(ByRef Filename As String, ByRef rectTop As Short, ByRef rectLeft As Short, ByRef rectWidth As Short, ByRef rectHeight As Short, ByRef FhWnd As Integer, Optional ByRef fullScreen As Boolean = False)
  13.         On Error Resume Next
  14.  
  15.         'Puliamo prima di caricare un nuovo file
  16.         Call DS_termina()
  17.  
  18.         DSControl = New QuartzTypeLib.FilgraphManager 'crea il controllo
  19.         Call DSControl.RenderFile(Filename) 'carica il file
  20.         'crea il controllo del volume
  21.         DSAudio = DSControl
  22.         DSAudio.Volume = 0 'regola il volume come normale
  23.         DSAudio.Balance = 0 'centra l'audio
  24.  
  25.         DSWindow = DSControl 'crea l'oggetto che contiene il video(se presente
  26.         DSWindow.WindowStyle = &H10000000 'finestra visibile
  27.         DSWindow.Top = rectTop 'dimensioni del controllo
  28.         DSWindow.Left = rectLeft
  29.         DSWindow.Width = rectWidth
  30.         DSWindow.Height = rectHeight
  31.         DSWindow.Owner = FhWnd
  32.         DSWindow.FullScreenMode = fullScreen
  33.  
  34.         DSPos = DSControl 'crea il controllo della posizione
  35.         DSPos.Rate = 1
  36.  
  37.     End Sub
  38.  
  39.     Public Sub DS_Play()
  40.         'Esegui il play
  41.         DSPos.CurrentPosition = 0
  42.         Call DSControl.Run()
  43.     End Sub
  44.  
  45.     Public Sub DS_Pause()
  46.         'pausa
  47.         Call DSControl.Pause()
  48.     End Sub
  49.  
  50.     Public Sub DS_Riprendi()
  51.         'riprendi da una pausa
  52.         DSControl.Run()
  53.     End Sub
  54.     Public Sub DS_Stop()
  55.         'Stop
  56.         Call DSControl.Stop()
  57.         DSPos.CurrentPosition = 0
  58.     End Sub
  59.  
  60.  
  61.     Public Sub DS_SetRate(ByRef velocità As Double)
  62.         If velocità <= 0 Then velocità = 0.1
  63.         'regola la velocità
  64.         DSPos.Rate = velocità
  65.     End Sub
  66.  
  67.     Public Function DS_GetLen() As Double
  68.         'ricevi la durata del file
  69.         DS_GetLen = DSPos.Duration
  70.     End Function
  71.  
  72.     Public Function DS_GetPosition() As Double
  73.         'ricevi la posizione
  74.         DS_GetPosition = DSPos.CurrentPosition
  75.     End Function
  76.  
  77.     Public Sub DS_SetPosition(ByRef posizione As Double)
  78.         'modifica la posizione del filmato
  79.         If posizione > DSPos.Duration Then posizione = DSPos.Duration
  80.         DSPos.CurrentPosition = posizione
  81.     End Sub
  82.  
  83.     Public Function DS_GetVolume() As Integer
  84.         'ricevi il volume
  85.         DS_GetVolume = DSAudio.Volume
  86.     End Function
  87.  
  88.     Public Sub DS_SetVolume(ByRef Volume As Integer)
  89.         'il volume va da 0 a -10000
  90.         If Volume > 0 Then Volume = 0
  91.         If Volume < -10000 Then Volume = -10000
  92.         DSAudio.Volume = Volume
  93.     End Sub
  94.  
  95.     Public Function DS_GetBalance() As Integer
  96.         'ricevi il balance
  97.         DS_GetBalance = DSAudio.Balance
  98.     End Function
  99.  
  100.     Public Sub DS_SetBalance(ByRef Balance As Integer)
  101.         Dim newBalance As New Object
  102.         Dim nBalance As New Object
  103.         'va da -10000 a +10000
  104.         If Balance < -10000 Then Balance = -10000
  105.         If nBalance > 10000 Then Balance = 10000
  106.         DSAudio.Balance = newBalance
  107.     End Sub
  108.  
  109.     Public Sub DS_termina()
  110.         On Error Resume Next
  111.         'fermiamo il file se sta già in esecuzione
  112.         DSControl.Stop()
  113.         DSWindow.Owner = 0
  114.         'distruggi tutto
  115.         DSAudio = Nothing
  116.         DSVideo = Nothing
  117.         DSControl = Nothing
  118.         DSWindow = Nothing
  119.         DSPos = Nothing
  120.     End Sub
  121. End Module



e l'Operazione o il metodo non implementato me lo indica sul pezzo di codice
Codice sorgente - presumibilmente Delphi

  1. Public Function DS_GetLen() As Double
  2.         'ricevi la durata del file
  3.        DS_GetLen = DSPos.Duration
  4.    End Function



precisamente sulla riga

Codice sorgente - presumibilmente Plain Text

  1. DS_GetLen = DSPos.Duration



perchè mi da questo tipo di codice? come posso risolverlo a poi ho provato anche ad installare il programma ffdshow...potete aiutarmi?? grazie mille:k:

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 19:10
Lunedì, 03/08/2009
NOn ti dà più dettagli sull'errore?
Capita che la conversione spesso non funzioni correttamente potrebbe essere dovuto alla non dichiarazione della varabile?

PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 10:56
Mercoledì, 05/08/2009
No non mi da altri dettagli...:-?

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 10:59
Mercoledì, 05/08/2009
Prova ad usare la keyword Return per restituire un valore nella funzione. Magari non c'entra niente, ma io un tentativo lo farei.

PM Quote