コード例 #1
0
/*
 * Class:     org_tritonus_lowlevel_alsa_AlsaMixerElement
 * Method:    hasPlaybackVolumeJoined
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL
Java_org_tritonus_lowlevel_alsa_AlsaMixerElement_hasPlaybackVolumeJoined
(JNIEnv* env, jobject obj)
{
    snd_mixer_elem_t*	handle;
    int			nReturn;

    if (debug_flag) {
        (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaMixerElement_hasPlaybackVolumeJoined(): begin\n");
    }
    handle = getHandle(env, obj);
    nReturn = snd_mixer_selem_has_playback_volume_joined(handle);
    if (debug_flag) {
        (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaMixerElement_hasPlaybackVolumeJoined(): end\n");
    }
    return (jboolean) nReturn;
}
コード例 #2
0
static int set_normalized_volume_all(snd_mixer_elem_t *elem,
				 double volume,
				 int dir,
				 enum ctl_dir ctl_dir)
{
	snd_mixer_selem_channel_id_t chn;
	int err;

	for (chn = 0; chn < 32; chn++) {
		if (!snd_mixer_selem_has_playback_channel(elem, chn))
			continue;
		err = set_normalized_volume(elem, chn, volume, dir, ctl_dir);
		if (err < 0)
			return err;
		if (chn == 0 && snd_mixer_selem_has_playback_volume_joined(elem))
			return 0;
	}
	return 0;
}