⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio.c

📁 uclinux 下的vlc播放器源代码
💻 C
字号:
/***************************************************************************** * libvlc_audio.c: New libvlc audio control API ***************************************************************************** * Copyright (C) 2006 the VideoLAN team * $Id: audio.c 19495 2007-03-27 12:38:10Z jpsaman $ * * Authors: Filippo Carone <filippo@carone.org> *          Jean-Paul Saman <jpsaman _at_ m2x _dot_ nl> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/#include <libvlc_internal.h>#include <vlc/libvlc.h>#include <audio_output.h> /* for audio_volume_t, AOUT_VOLUME_MAX *//***************************************************************************** * libvlc_audio_get_mute : Get the volume state, true if muted *****************************************************************************/void libvlc_audio_toggle_mute( libvlc_instance_t *p_instance,                               libvlc_exception_t *p_e ){    aout_VolumeMute( p_instance->p_vlc, NULL );}vlc_bool_t libvlc_audio_get_mute( libvlc_instance_t *p_instance,                                  libvlc_exception_t *p_e ){    /*     * If the volume level is 0, then the channel is muted     */    audio_volume_t i_volume;    i_volume = libvlc_audio_get_volume(p_instance, p_e);    if ( i_volume == 0 )        return VLC_TRUE;    return VLC_FALSE;}void libvlc_audio_set_mute( libvlc_instance_t *p_instance, vlc_bool_t status,                            libvlc_exception_t *p_e ){    if ( status ^ libvlc_audio_get_mute( p_instance, p_e ) )    {        /* the aout_VolumeMute is a toggle function, so this is enough. */        aout_VolumeMute( p_instance->p_vlc, NULL );    }}/***************************************************************************** * libvlc_audio_get_volume : Get the current volume (range 0-200 %) *****************************************************************************/int libvlc_audio_get_volume( libvlc_instance_t *p_instance,                             libvlc_exception_t *p_e ){    audio_volume_t i_volume;    aout_VolumeGet( p_instance->p_vlc, &i_volume );    return (i_volume*200+AOUT_VOLUME_MAX/2)/AOUT_VOLUME_MAX;}/***************************************************************************** * libvlc_audio_set_volume : Set the current volume *****************************************************************************/void libvlc_audio_set_volume( libvlc_instance_t *p_instance, int i_volume,                              libvlc_exception_t *p_e ){    if( i_volume >= 0 && i_volume <= 200 )    {        i_volume = (i_volume * AOUT_VOLUME_MAX + 100) / 200;        aout_VolumeSet( p_instance->p_vlc, i_volume );    }    else    {        libvlc_exception_raise( p_e, "Volume out of range" );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -