Конференция "Media" » VLC Plauer + работа с камерой
 
  • estra (26.09.13 17:34) [0]
    Всем привет.

    Помогите. Нужно с помощью VLC получать картинку и звук с камеры. Использую PasLibVlc. Проблема в следующем. Если я запускаю vlc с командной строки таким образом

    vlc.exe dshow:// :dshow-vdev="Microsoft LifeCam Studio" :dshow-adev="Настольный микрофон (Studio - M" :live-caching=300

    то все нормально, но вот из кода, который выглядит так

    procedure TMainForm.Button1Click(Sender: TObject);
    var
     p_li: libvlc_instance_t_ptr;
     p_mi: libvlc_media_player_t_ptr;

     p_md: libvlc_media_t_ptr;

     args: packed array[0..0] of PAnsiChar;
    begin
      libvlc_dynamic_dll_init_with_path( 'c:\Program Files (x86)\VideoLAN\VLC\' );

      if libvlc_dynamic_dll_error <> '' then
         raise Exception.Create( libvlc_dynamic_dll_error );

      args[0] := nil;

      p_li := libvlc_new( Length( args )-1, @args[0] );
      p_mi := nil;

      p_md := libvlc_media_new_path( p_li, PAnsiChar( System.UTF8Encode( 'dshow://' ) ) );

      libvlc_media_add_option( p_md, ':dshow-vdev=Microsoft LifeCam Studio' );
      libvlc_media_add_option( p_md, ':dshow-adev=Настольный микрофон (S' );
      libvlc_media_add_option( p_md, ':live-caching=300' );

      p_mi := libvlc_media_player_new_from_media( p_md );

      libvlc_media_release( p_md );

      libvlc_media_player_set_hwnd( p_mi, Handle );
      libvlc_media_player_play( p_mi );
    end;

    я вижу только изображение, звука нет. Было ощущение, что он понимает только первып передаваемый параметр, но убрав строку

    libvlc_media_add_option( p_md, ':dshow-vdev=Microsoft LifeCam Studio' );

    я звука не получил. Что я не так делаю? помогите разобраться.
  • Плохиш © (27.09.13 11:02) [1]

    > Если я запускаю vlc с командной строки таким образом
    >
    > vlc.exe dshow:// :dshow-vdev="Microsoft LifeCam Studio"
    > :dshow-adev="Настольный микрофон (Studio - M" :live-caching=300
    >
    > то все нормально, но вот из кода, который выглядит так

    Выкинуть код и написать одну строку выполняющую приведённую выше команду.
  • brother © (27.09.13 11:27) [2]
    > написать одну строку

    в cmd файле...
  • estra (27.09.13 11:28) [3]
    Как именно?

    Так не работает
    p_md := libvlc_media_new_path( p_li, PAnsiChar( System.UTF8Encode( 'dshow:// :dshow-vdev=Microsoft LifeCam Studio :dshow-adev=Настольный микрофон (Studio - M :live-caching=300' ) ) );

    и так тоже
    libvlc_media_add_option( p_md, PAnsiChar( ':dshow-vdev=Microsoft LifeCam Studio :dshow-adev=Настольный микрофон (Studio - M :live-caching=300' ) );
  • estra (27.09.13 11:29) [4]
    в cmd не катит, надо не во внешнем проигрывателе воспроизводить, а в окне моей программы
 
Конференция "Media" » VLC Plauer + работа с камерой
Есть новые Нет новых   [134427   +38][b:0][p:0]