-
Всем привет.
Помогите. Нужно с помощью 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' );
я звука не получил. Что я не так делаю? помогите разобраться.
-
> Если я запускаю vlc с командной строки таким образом > > vlc.exe dshow:// :dshow-vdev="Microsoft LifeCam Studio" > :dshow-adev="Настольный микрофон (Studio - M" :live-caching=300 > > то все нормально, но вот из кода, который выглядит так
Выкинуть код и написать одну строку выполняющую приведённую выше команду.
-
> написать одну строку
в cmd файле...
-
Как именно?
Так не работает 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' ) );
-
в cmd не катит, надо не во внешнем проигрывателе воспроизводить, а в окне моей программы
|