1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
package com.smartdevicelink.proxy.rpc;
import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.AudioType;
import com.smartdevicelink.proxy.rpc.enums.BitsPerSample;
import com.smartdevicelink.proxy.rpc.enums.SamplingRate;
import com.smartdevicelink.proxy.rpc.enums.VehicleDataEventStatus;
import java.util.Hashtable;
import static com.smartdevicelink.proxy.rpc.AirbagStatus.KEY_DRIVER_CURTAIN_AIRBAG_DEPLOYED;
/**
*<p> Describes different audio type configurations for PerformAudioPassThru, e.g. {8kHz,8-bit,PCM}
* Specifies the capabilities of audio capturing: sampling rate, bits per sample, audio type.</p>
*
* <p><b>Parameter List</b></p>
* <table border="1" rules="all">
* <tr>
* <th>Name</th>
* <th>Type</th>
* <th>Description</th>
* <th>SmartDeviceLink Ver. Available</th>
* </tr>
* <tr>
* <td>samplingRate</td>
* <td>SamplingRate</td>
* <td>Describes the sampling rate for AudioPassThru
* </td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
* <tr>
* <td>bitsPerSample</td>
* <td>BitsPerSample</td>
* <td>Describes the sample depth in bit for AudioPassThru
* </td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
* <tr>
* <td>audioType</td>
* <td>AudioType</td>
* <td>Describes the audiotype for AudioPassThru
* </td>
* <td>SmartDeviceLink 2.0</td>
* </tr>
* </table>
* @see ButtonName
* @see GetCapabilities
* @since SmartDeviceLink 2.0
*/
public class AudioPassThruCapabilities extends RPCStruct {
public static final String KEY_SAMPLING_RATE = "samplingRate";
public static final String KEY_AUDIO_TYPE = "audioType";
public static final String KEY_BITS_PER_SAMPLE = "bitsPerSample";
/**
* Constructs a newly allocated AudioPassThruCapabilities object
*/
public AudioPassThruCapabilities() {}
/**
* Constructs a newly allocated AudioPassThruCapabilities object indicated by the Hashtable parameter
* @param hash The Hashtable to use
*/
public AudioPassThruCapabilities(Hashtable<String, Object> hash) {
super(hash);
}
/**
* set the sampling rate for AudioPassThru
* @param samplingRate the sampling rate for AudioPassThru
*/
public void setSamplingRate(SamplingRate samplingRate) {
setValue(KEY_SAMPLING_RATE, samplingRate);
}
/**
* get the sampling rate for AudioPassThru
* @return the sampling rate for AudioPassThru
*/
public SamplingRate getSamplingRate() {
return (SamplingRate) getObject(SamplingRate.class, KEY_SAMPLING_RATE);
}
/**
* set the sample depth in bit for AudioPassThru
* @param bitsPerSample the sample depth in bit for AudioPassThru
*/
public void setBitsPerSample(BitsPerSample bitsPerSample) {
setValue(KEY_BITS_PER_SAMPLE, bitsPerSample);
}
/**
* get the sample depth in bit for AudioPassThru
* @return the sample depth in bit for AudioPassThru
*/
public BitsPerSample getBitsPerSample() {
return (BitsPerSample) getObject(BitsPerSample.class, KEY_BITS_PER_SAMPLE);
}
/**
* set the audiotype for AudioPassThru
* @param audioType the audiotype for AudioPassThru
*/
public void setAudioType(AudioType audioType) {
setValue(KEY_AUDIO_TYPE, audioType);
}
/**
* get the audiotype for AudioPassThru
* @return the audiotype for AudioPassThru
*/
public AudioType getAudioType() {
return (AudioType) getObject(AudioType.class, KEY_AUDIO_TYPE);
}
}
|