Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[gelöst] Videos in fb anzeigen??
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 02.03.2007, 14:20    Titel: [gelöst] Videos in fb anzeigen?? Antworten mit Zitat

weiß jemand wie man Windows Media Video 8/9 (Pro) anzeigen kann? oder geht nur avi?

welche videotypen kann man überhaupt in fb anzeigen/abspielen lassen, die sound unterstützen??
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick


Zuletzt bearbeitet von csde_rats am 03.03.2007, 17:51, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Build0815



Anmeldungsdatum: 30.09.2006
Beiträge: 51

BeitragVerfasst am: 02.03.2007, 15:23    Titel: Antworten mit Zitat

Hallo,
Du könntest versuchen die AVI-Funktionen der WinApi (avifil32.dll) zu benutzen, damit solltest du eigentlich dann alle Formate abspielen können die du willst, vorrausgesetzt, es ist der passende Codec installiert.

VB Beispielcode findet sich zB im Programm "API-Guide 3.7". (Im Prog. zB. bei: Groups-AVI-AviFileOpen-Examples)
(Irgendwie scheint die alte Herstellerseite von dem Programm nur noch aus Werbung zu bestehen, aber google findet bestimmt das richtige grinsen )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 02.03.2007, 15:29    Titel: Antworten mit Zitat

hat jemand dafür ein konkretes beispiel, wie man diese API-funktion benutzt?
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Build0815



Anmeldungsdatum: 30.09.2006
Beiträge: 51

BeitragVerfasst am: 02.03.2007, 15:42    Titel: Antworten mit Zitat

Also mit dem Code der unten folgt, kann man ein Avi file öffnen allerdings fehlt noch irgendwas, weil er nur schön die Dimensionen des avi files anzeigt es aber nicht abspielt. durchgeknallt
Zitat:

The AVIFileOpen function opens an AVI file and returns the address of a file interface used to access it. The AVIFile library maintains a count of the number of times a file is opened, but not the number of times it was released. Use the AVIFileRelease function to release the file and decrement the count.


Code:

Const OF_SHARE_DENY_WRITE As Long = &H20
Type AVIFILEINFO
    dwMaxBytesPerSec As Long
    dwFlags As Long
    dwCaps As Long
    dwStreams As Long
    dwSuggestedBufferSize As Long
    dwWidth As Long
    dwHeight As Long
    dwScale As Long
    dwRate As Long
    dwLength As Long
    dwEditCount As Long
    szFileType As String * 64
End Type
Declare Function AVIFileOpen Lib "avifil32.dll" Alias "AVIFileOpenA" (ppfile As Long, ByVal szFile As String, ByVal mode As Long, pclsidHandler As Any) As Long
Declare Function AVIFileRelease Lib "avifil32.dll" Alias "AVIFileRelease" (ByVal pfile As Long) As Long
Declare Function AVIFileInfo Lib "avifil32.dll" Alias "AVIFileInfoA" (ByVal pfile As Long, pfi As AVIFILEINFO, ByVal lSize As Long) As Long
Declare Sub AVIFileInit Lib "avifil32.dll" Alias "AVIFileInit" ()
Declare Sub AVIFileExit Lib "avifil32.dll" Alias "AVIFileExit" ()

Dim hFile As Long, AviInfo As AVIFILEINFO
    'initialize the AVIFile library
    AVIFileInit()
    'create a handle to the AVI file
    If AVIFileOpen(hFile, "C:\test.avi", OF_SHARE_DENY_WRITE, ByVal 0&) = 0 Then
        'retrieve the AVI information
        If AVIFileInfo(hFile, AviInfo, Len(AviInfo)) = 0 Then
           Print("AVI Dimensionen: " & Str(AviInfo.dwWidth) & "x" & Str(AviInfo.dwHeight))
        Else
            Print("Avi-Informationen konnten nicht gelesen werden!(")
        End If
        'release the file handle
        AVIFileRelease hFile
    Else
        Print("Avi konnte nicht geöffnet werden!")
    End If
    'exit the AVIFile library and decrement the reference count for the library
    AVIFileExit
    Sleep


Zuletzt bearbeitet von Build0815 am 02.03.2007, 16:01, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 02.03.2007, 15:50    Titel: Antworten mit Zitat

und wie spielt man jetzt die avifile ab?
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.03.2007, 16:12    Titel: Antworten mit Zitat

Er hatte gesagt, es gibt einen Beispielcode - zwar in VB, aber die Sprachen sind sich recht ähnlich. Und WinAPI-Aufrufe bleiben sowieso gleich.
Also wie wär's, wenn du's vllt. einfach mal selbst versuchst und dann den Source zeigst, wenn's nicht funktioniert?
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 02.03.2007, 18:13    Titel: Antworten mit Zitat

Ja okay happy
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 02.03.2007, 20:07    Titel: Antworten mit Zitat

ich habe den folgenden source gefunden, aber der fbc meldet mir einen ganzen haufen fehlermeldungen, über "end-of-line" blabla neutral :

Code:

    1
    2
    3 #include once "windows.bi"
    4 #include once "win/commctrl.bi"
    5 #include once "win/ole2.bi"
    6 #include once "movctrl/movctrl.bi"
    7
    8 const WIN_TITLE = "movie Test"
    9
   10 const WIN_WIDTH = 800
   11 const WIN_HEIGHT = 600
   12
   13 const WIN_TOOLBAR_STYLE = TBSTYLE_FLAT or CCS_TOP
   14
   15 enum
   16    WIN_TOOLBAR_FIRSTID = WM_USER
   17    WIN_TOOLBAR_BUTTON_GOBACK = WIN_TOOLBAR_FIRSTID
   18    WIN_TOOLBAR_BUTTON_GOFORWARD
   19 end enum
   20
   21 const WIN_TOOLBAR_BUTTONS = 2
   22
   23 '' globals
   24    dim shared as movctrl ptr movie = NULL
   25    dim shared as HWND toolbar = NULL
   26
   27    dim shared as integer WIN_TOOLBAR_HEIGHT = 24
   28
   29 ''::::
   30 private sub movie_onresize _
   31    ( _
   32       byval wdt as integer, _
   33       byval hgt as integer _
   34    )
   35
   36    if( movie = NULL ) then
   37       exit sub
   38    end if
   39
   40    if( hgt > WIN_TOOLBAR_HEIGHT ) then
   41       hgt -= WIN_TOOLBAR_HEIGHT
   42    else
   43       hgt = 0
   44    end if
   45
   46    movctrl_Move( movie, _
   47               0, _
   48               WIN_TOOLBAR_HEIGHT, _
   49               wdt, _
   50               hgt )
   51
   52 end sub
   53
   54 ''::::
   55 private sub toolbar_onresize _
   56    ( _
   57       byval wdt as integer, _
   58       byval hgt as integer _
   59    )
   60
   61    SendMessage( toolbar, WM_SIZE, 0, 0 )
   62
   63 end sub
   64
   65 ''::::
   66 private sub toolbar_onclick _
   67    ( _
   68       byval hwnd as HWND, _
   69       byval id as integer _
   70    )
   71
   72    if( movie = NULL ) then
   73       exit sub
   74    end if
   75
   76    select case as const id
   77    case WIN_TOOLBAR_BUTTON_GOBACK
   78       'movctrl_GoBack( movie )
   79    case WIN_TOOLBAR_BUTTON_GOFORWARD
   80       'movctrl_GoForward( movie )
   81    end select
   82
   83 end sub
   84
   85 ''::::
   86 private function win_cb _
   87    ( _
   88       byval hwnd as HWND, _
   89       byval uMsg as UINT, _
   90       byval wParam as WPARAM, _
   91       byval lParam as LPARAM _
   92    ) as LRESULT
   93
   94    select case uMsg
   95    case WM_SIZE
   96       dim as integer wdt = LOWORD( lParam ), _
   97                   hgt = HIWORD( lParam )
   98
   99       movie_onresize( wdt, hgt )
  100
  101       toolbar_onresize( wdt, hgt )
  102
  103       return 0
  104
  105    case WM_DESTROY
  106       PostQuitMessage( 0 )
  107       return 0
  108
  109    case WM_COMMAND
  110       if( lParam <> NULL ) then
  111          select case LOWORD( wParam )
  112          case WIN_TOOLBAR_FIRSTID to WIN_TOOLBAR_FIRSTID + WIN_TOOLBAR_BUTTONS - 1
  113             toolbar_onclick( cast( HWND, lParam ), LOWORD( wParam ) )
  114          end select
  115
  116       end if
  117    end select
  118
  119    return DefWindowProc( hwnd, uMsg, wParam, lParam )
  120
  121 end function
  122
  123 ''::::
  124 private function toolbar_oncreate _
  125    ( _
  126       byval parent as HWND _
  127    ) as HWND
  128
  129    dim as HWND hwnd
  130
  131    function = NULL
  132
  133    InitCommonControlsEx( @type<INITCOMMONCONTROLSEX>( len( INITCOMMONCONTROLSEX ), ICC_BAR_CLASSES ) )
  134
  135     hwnd = CreateWindowEx( WS_EX_DLGMODALFRAME, _
  136                      TOOLBARCLASSNAME, _
  137                      NULL, _
  138                              WS_CHILD or WS_VISIBLE or WIN_TOOLBAR_STYLE, _
  139                              0, _
  140                              0, _
  141                              CW_USEDEFAULT, _
  142                              CW_USEDEFAULT, _
  143                              parent, _
  144                              NULL, _
  145                              cast( HINSTANCE, GetWindowLong( parent, GWL_HINSTANCE ) ), _
  146                              NULL )
  147
  148    if( hwnd = NULL ) then
  149       exit function
  150    end if
  151
  152    SendMessage( hwnd, TB_BUTTONSTRUCTSIZE, len( TBBUTTON ), NULL )
  153
  154     SendMessage( hwnd, TB_ADDBITMAP, 0, cint( @type<TBADDBITMAP>( HINST_COMMCTRL, IDB_HIST_LARGE_COLOR ) ) )
  155
  156     dim as TBBUTTON button(0 to WIN_TOOLBAR_BUTTONS-1)
  157
  158     '' go back
  159     with button(0)
  160       .iBitmap = HIST_BACK
  161       .fsState = TBSTATE_ENABLED
  162         .fsStyle = TBSTYLE_BUTTON
  163         .idCommand = WIN_TOOLBAR_BUTTON_GOBACK
  164    end with
  165
  166     '' go forward
  167     with button(1)
  168       .iBitmap = HIST_FORWARD
  169       .fsState = TBSTATE_ENABLED
  170         .fsStyle = TBSTYLE_BUTTON
  171         .idCommand = WIN_TOOLBAR_BUTTON_GOFORWARD
  172    end with
  173
  174    SendMessage( hwnd, TB_ADDBUTTONS, WIN_TOOLBAR_BUTTONS, cast( LPARAM, @button(0) ) )
  175
  176    SendMessage( hwnd, TB_AUTOSIZE, 0, 0 )
  177
  178    ''
  179    dim as SIZE tbsize
  180    SendMessage( hwnd, TB_GETMAXSIZE, 0, cast( LPARAM, @tbsize ) )
  181    WIN_TOOLBAR_HEIGHT = tbsize.cy + HIWORD( SendMessage( hwnd, TB_GETPADDING, 0, 0 ) ) + 2
  182
  183    function = hwnd
  184
  185 end function
  186
  187 ''::::
  188 private function window_oncreate _
  189    ( _
  190       byval hInstance as HINSTANCE _
  191    ) as HWND
  192
  193    dim as zstring ptr className = @"movie_test"
  194    dim as WNDCLASSEX wc
  195    dim as HWND hwnd
  196
  197    function = NULL
  198
  199    with wc
  200       .cbSize       = len( WNDCLASSEX )
  201       .lpfnWndProc    = @win_cb
  202       .hInstance       = hInstance
  203       .lpszClassName    = className
  204       '.style         = CS_HREDRAW or CS_VREDRAW
  205    end with
  206
  207    RegisterClassEx( @wc )
  208
  209    hwnd = CreateWindowEx( 0, _
  210                      className, _
  211                      WIN_TITLE, _
  212                      WS_OVERLAPPEDWINDOW, _
  213                      CW_USEDEFAULT, _
  214                      WIN_WIDTH, _
  215                      CW_USEDEFAULT, _
  216                      WIN_HEIGHT, _
  217                      NULL, _
  218                      NULL, _
  219                      hInstance, _
  220                      0 )
  221
  222    function = hwnd
  223
  224 end function
  225
  226 ''::::
  227 private function movie_oncreate _
  228    ( _
  229       byval parent as HWND, _
  230       byval filename as wstring ptr _
  231    ) as movctrl ptr
  232
  233    dim as movctrl ptr ctrl
  234
  235    function = NULL
  236
  237    if( len( filename ) = 0 ) then
  238       exit function
  239    end if
  240
  241    ctrl = movctrl_Create( parent, _
  242                      0, _
  243                      WIN_TOOLBAR_HEIGHT, _
  244                      WIN_WIDTH, _
  245                      WIN_HEIGHT-WIN_TOOLBAR_HEIGHT )
  246
  247    if( ctrl = NULL ) then
  248       exit function
  249    end if
  250
  251    if( movctrl_Load( ctrl, filename ) = FALSE ) then
  252       movctrl_Destroy( ctrl )
  253       exit function
  254    end if
  255
  256    if( movctrl_Play( ctrl ) = FALSE ) then
  257       movctrl_Destroy( ctrl )
  258       exit function
  259    end if
  260
  261    function = ctrl
  262
  263 end function
  264
  265 ''::::
  266 private function WinMain _
  267    ( _
  268       byval hInstance as HINSTANCE, _
  269         byval hPrevInstance as HINSTANCE, _
  270         byval szCmdLine as string, _
  271         byval nCmdShow as integer _
  272    ) as integer
  273
  274    dim as MSG msg
  275    dim as HWND win
  276
  277    if( len( szCmdLine ) = 0 ) then
  278       print "Usage: test filename.ext"
  279       return 1
  280    end if
  281
  282    ''
  283    if( FAILED( CoInitialize( NULL ) ) ) then
  284       return 1
  285    end if
  286
  287    ''
  288    win = window_oncreate( hInstance )
  289
  290    toolbar = toolbar_oncreate( win )
  291
  292    movie = movie_oncreate( win, szCmdLine )
  293    if( movie = NULL ) then
  294       return 1
  295    end if
  296
  297    ''
  298    ShowWindow( win, nCmdShow )
  299    UpdateWindow( win )
  300
  301    ''
  302    do while( GetMessage( @msg, 0, 0, 0 ) = TRUE )
  303       TranslateMessage( @msg )
  304       DispatchMessage( @msg )
  305    loop
  306
  307    ''
  308    CoUninitialize( )
  309
  310    function = msg.wParam
  311
  312 end function
  313
  314
  315    end WinMain( GetModuleHandle( NULL ), NULL, Command( ), SW_NORMAL )

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Build0815



Anmeldungsdatum: 30.09.2006
Beiträge: 51

BeitragVerfasst am: 03.03.2007, 00:51    Titel: Antworten mit Zitat

Mit dem folgenden Code sollte es möglich sein ein AVI file anzuzeigen.
Ich konnte es allerdings nicht ganz testen, da ich momentan keine Microsoft Video-Codecs auf dem System habe, und Videos wennschon nur mit dem VLC player anschaue, der eigene Codecs hat ... allerdings hat der Code bei mir zumindest den Sound vom AVI file korrekt abgespielt.

Code:

Declare Function mciSendString Lib "winmm.dll" _
  Alias "mciSendStringA" ( _
  ByVal lpstrCommand As String, _
  ByVal lpstrReturnString As String, _
  ByVal uReturnLength As Long, _
  ByVal hwndCallback As Long) As Long

Declare Function GetShortPathName Lib "kernel32.dll" _
  Alias "GetShortPathNameA" ( _
  ByVal lpszLongPath As String, _
  ByVal lpszShortPath As String, _
  ByVal cchBuffer As Long) As Long
 
  ' AVI-File öffnen
Private Sub AVI_Open(ByVal sFile As String)
  Dim sBuffer As String * 256
  Dim nResult As Long
 
  ' DOS-Namen ermitteln (8.3-Format)
  nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
  sFile = Left$(sBuffer, nResult)
 
  ' AVI öffnen
  ' öffnet ein Gerät und eine Multimedia-Datei
  mciSendString "open " & sFile & " type avivideo" & _
    " alias myAVI", 0, 0, 0

  ' Anzeige in der PictureBox
  mciSendString "window myAVI handle " & _
    Str(Picture1.hWnd), 0, 0, 0
End Sub

' AVI in PictureBox abspielen
Private Sub AVI_Play()
  mciSendString "play myAVI from 0", 0, 0, 0
End Sub

' Abspielvorgang stoppen
Private Sub AVI_Stop()
  mciSendString "close myAVI", 0, 0, 0
End Sub

' MCI Schließen
Private Function AVI_Close()
  mciSendString "close myAVI", 0, 0, 0
End Function

' AVI öffnen und abspielen
Private Sub cmdPlay_Click()
  Dim sFile As String
 
  ' MCI öffnen
  AVI_Open("C:\test.avi")
 
  ' Abspielvorgang starten
  AVI_Play()
End Sub

' Abspielvorgang beenden und MCI schließen
Private Sub cmdStop_Click()
  AVI_Stop
  AVI_Close
End Sub

cmdPlay_Click()
sleep
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 03.03.2007, 11:08    Titel: Antworten mit Zitat

Das ist ein VB-Code (abgesehen von den letzten beiden Zeilen). zwinkern Von einem Objekt namens Picture1 kann FB kein Handle zurückliefern. Allerdings könnte die Sub AVI_Open für eine Portierung interessant sein, wenn man das Handle seines GFXLIB Fensters hat.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.03.2007, 17:45    Titel: Antworten mit Zitat

Mit fb 0.16 lässt sich das problemlos compilieren: Yahooo!!!! Yahooo!!!! vor Freude klatschen

Damit ist das abspielen von AVIs in fb kein problem mehr:
Code:

Declare Function mciSendString Lib "winmm.dll" _
  Alias "mciSendStringA" ( _
  ByVal lpstrCommand As String, _
  ByVal lpstrReturnString As String, _
  ByVal uReturnLength As Long, _
  ByVal hwndCallback As Long) As Long

Declare Function GetShortPathName Lib "kernel32.dll" _
  Alias "GetShortPathNameA" ( _
  ByVal lpszLongPath As String, _
  ByVal lpszShortPath As String, _
  ByVal cchBuffer As Long) As Long
 
  ' AVI-File öffnen
Private Sub AVI_Open(ByVal sFile As String)
  Dim sBuffer As String * 256
  Dim nResult As Long
 
  ' DOS-Namen ermitteln (8.3-Format)
  nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
  sFile = Left$(sBuffer, nResult)
 
  ' AVI öffnen
  ' öffnet ein Gerät und eine Multimedia-Datei
  mciSendString "open " & sFile & " type avivideo" & _
    " alias myAVI", 0, 0, 0

  ' Anzeige in der PictureBox
  mciSendString "window myAVI handle " & _
    Str(Picture1.hWnd), 0, 0, 0
End Sub

' AVI in PictureBox abspielen
Private Sub AVI_Play()
  mciSendString "play myAVI from 0", 0, 0, 0
End Sub

' Abspielvorgang stoppen
Private Sub AVI_Stop()
  mciSendString "close myAVI", 0, 0, 0
End Sub

' MCI Schließen
Private Function AVI_Close()
  mciSendString "close myAVI", 0, 0, 0
End Function

' AVI öffnen und abspielen
Private Sub cmdPlay_Click()
  Dim sFile As String
 
  ' MCI öffnen
  AVI_Open("intro.avi")
 
  ' Abspielvorgang starten
  AVI_Play()
End Sub

' Abspielvorgang beenden und MCI schließen
Private Sub cmdStop_Click()
  AVI_Stop
  AVI_Close
End Sub

cmdPlay_Click()
sleep

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 03.03.2007, 18:03    Titel: Antworten mit Zitat

läuft ein wenig holprig, aber sehr schön, dass es überhaupt geht happy
ich werde den source mal ein wenig aufräumen und evtl publizieren happy
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 03.03.2007, 18:04    Titel: Antworten mit Zitat

Tatsächlich! Man muss überhaupt kein Handle angeben:
Code:
[...]
  mciSendString "window myAVI handle 0", 0, 0, 0
[...]

_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.03.2007, 18:05    Titel: Antworten mit Zitat

Ich hatte auch nicht erwartet das es klappt happy .

@Jojo:
Wäre echt nett wenn du das machen würdest.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 03.03.2007, 18:07    Titel: Antworten mit Zitat

sebastian: das problem ist, dass ein eigenes fesnter geöffnet wird.
siehe hier:
Code:

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (Byval lpstrCommand As String, Byval lpstrReturnString As String, Byval uReturnLength As Long, Byval hwndCallback As Long) As Long
Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" (Byval lpszLongPath As String, Byval lpszShortPath As String, Byval cchBuffer As Long) As Long

' AVI-File öffnen
Sub AVI_Open(Byval sFile As String)
    Dim sBuffer As String * 256
    Dim nResult As Long
   
    ' DOS-Namen ermitteln (8.3-Format)
    nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
    sFile = Left(sBuffer, nResult)
   
    ' AVI öffnen
    ' öffnet ein Gerät und eine Multimedia-Datei
    mciSendString "open " + sFile + " type avivideo alias myAVI", 0, 0, 0
   
    ' Anzeige in der PictureBox
    mciSendString "window myAVI handle 0", 0, 0, 0
End Sub

' AVI in PictureBox abspielen
Sub AVI_Play()
    mciSendString "play myAVI from 0", 0, 0, 0
End Sub

' Abspielvorgang stoppen
Sub AVI_Stop()
    mciSendString "close myAVI", 0, 0, 0
End Sub

' MCI Schließen
Sub AVI_Close()
    mciSendString "close myAVI", 0, 0, 0
End Sub

' AVI öffnen und abspielen
Sub LoadAvi(sFile As String)
    AVI_Open(sFile)
    AVI_Play()
End Sub

' Abspielvorgang beenden und MCI schließen
Sub StopAvi()
    AVI_Stop
    AVI_Close
End Sub

LoadAvi("E:\eigene videos\fun\spicken.avi")
Screen 18
Sleep
StopAvi
End


damit könnte man dann 3 fenster (noch die konsole happy) gleichzeitg offne haben!

die folgerung daraus: fb spielt das video net ab, sondern ein integrierter player in windows. übrigens, laufen eure videos auch viel zu schnell?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.03.2007, 19:26    Titel: Antworten mit Zitat

hmmm, wie kriegt man den handle des fb fensters, denn dann könnte man ja den window handle übergeben, und es müsste im fb window abgespielt werden durchgeknallt
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 03.03.2007, 19:29    Titel: Antworten mit Zitat

Oh, ihr arbeitet mit MCI? Ich hab hier die offizielle Hilfedatei dazu rumzuliegen, wenn auch Englisch happy
Da steht alles drin, mom, ich lad die ma hoch happy

// Edit:

So, hier:
http://www.purechannel.ath.cx/pmediameetpoint/home/fb/MCI.HLP
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.03.2007, 19:37    Titel: Antworten mit Zitat

Danke PMedia! Wenn ich das da richtig gelesen habe, könnte man (wie man meinen letzten posting entnehmen kann) tatsächlich den fensterhandle übergeben grinsen

/edit:
Zitat:

mciSendString "open " + sFile + " type avivideo alias myAVI", 0, 0, Handle


Ich glaube bei Handle kann man jetzt einen Windowhandle einsetzen, oder?
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.03.2007, 20:13    Titel: Antworten mit Zitat

Ich habe jetzt den source so umgeändert, aber in Zeile 62 meldet er mir irgendeinen fehler (nr. 10)!:
Code:

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

declare Sub AVI_Open(ByVal sFile As String, ByVal Handle as long)
declare Sub AVI_Play()
declare Sub AVI_Stop()
declare Sub AVI_Close()
declare Sub LoadAvi(sFile As String)
declare Sub StopAvi()

  ' AVI-File öffnen
Sub AVI_Open(ByVal sFile As String, ByVal Handle as long)
  Dim sBuffer As String * 256
  Dim nResult As Long
 
  ' DOS-Namen ermitteln (8.3-Format)
  nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
  sFile = Left$(sBuffer, nResult)
 
  ' AVI öffnen
  ' öffnet ein Gerät und eine Multimedia-Datei
  mciSendString "open " + sFile + " type avivideo alias myAVI", 0, 0, 0

  ' Anzeige in der PictureBox
  mciSendString "window myAVI handle " + trim(str(handle)), 0, 0, 0
End Sub

' AVI in PictureBox abspielen
Sub AVI_Play()
  mciSendString "play myAVI from 0", 0, 0, 0
End Sub

' Abspielvorgang stoppen
Sub AVI_Stop()
  mciSendString "close myAVI", 0, 0, 0
End Sub

' MCI Schließen
Sub AVI_Close()
  mciSendString "close myAVI", 0, 0, 0
End Sub

' AVI öffnen und abspielen
Sub LoadAvi(sFile As String)
 
  ' MCI öffnen
'  AVI_Open(sFile)
 
  ' Abspielvorgang starten
  AVI_Play()
End Sub

' Abspielvorgang beenden und MCI schließen
Sub StopAvi()
  AVI_Stop
  AVI_Close
End Sub

Screenres 320,200,32
'LoadAvi("intro.avi")
dim FensterHandle as integer
SCREENCONTROL 2, FensterHandle
Avi_Open ("intro.avi", FensterHandle)
AVI_Play
'screen 1
sleep
StopAvi
'sleep
end


PS: ja ich habe schon auf v.0.17 geupdatet Zunge rausstrecken
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 03.03.2007, 20:16    Titel: Antworten mit Zitat

probier mal ab Zeil 52:

Code:

Screenres 320,200,32
Dim HWnd_z as integer
Dim HWnd_p as any ptr
HWnd_z=1:HWnd_p=@HWnd_z

'LoadAvi("intro.avi")
dim FensterHandle as integer
'SCREENCONTROL (2, FensterHandle)
Avi_Open ("intro.avi", HWnd_p)
AVI_Play
'screen 1
sleep
StopAvi
'sleep
end


hab leider kein AVI, aber fenster geht auf.....
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz