Recorder::3.Audio Recorder=1
Audio::1.TonePlayer=1
Audio::2.AudioInOut=1
+Audio::3.AudioEqualizer=1
+Audio::4.AudioRoute=1
Player::1.Media Player=1
Player::2.Multi Play=1
Player::3.Camera and Player=1
4.format=PNG
4.dimension=30
+#AudioEqualizer\r
+srcfile=/Audio/SampleMP3.mp3\r
+volume=50\r
+countPresets=4\r
+preset0=12,6,0,-3,0,6,12\r
+preset1=-12,-6,0,3,0,-6,-12\r
+preset2=-12,-6,-3,0,3,6,12\r
+preset3=12,6,3,0,-3,-6,-12\r
#GifViewer
count=2
maxRecordingSize=3000
maxRecordingTime=20000
playerFileName=res/Video/sampleH264.mp4
+
+#AudioRouter
+audioFile=data/Audio/audioRouteRecorded
//Audio
extern const Tizen::Ui::Scenes::SceneId TONE_PLAYER_SCENE_ID;
extern const Tizen::Ui::Scenes::SceneId AUDIO_INOUT_SCENE_ID;
+extern const Tizen::Ui::Scenes::SceneId AUDIO_EQUALIZER_SCENE_ID;
+extern const Tizen::Ui::Scenes::SceneId AUDIO_ROUTE_SCENE_ID;
//Recorder
extern const Tizen::Ui::Scenes::SceneId CAMERA_CAPTURE_SCENE_ID;
<Privilege>http://tizen.org/privilege/videorecorder</Privilege>
<Privilege>http://tizen.org/privilege/camera</Privilege>
<Privilege>http://tizen.org/privilege/power</Privilege>
+ <Privilege>http://tizen.org/privilege/audiomanager.route</Privilege>
</Privileges>
<UiApp HwAcceleration="On" Main="True" MenuIconVisible="True" Name="$(projectName)">
<UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="480"/>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="2.0.0.201303182057" Dversion="20120315">
+ <LogicalCoordinate>480</LogicalCoordinate>
+ <Form id="IDF_AUDIO_EQUALIZER_FORM">
+ <property backgroundColor="#E5E5E5" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_LEFT" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+ <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="Audio Equalizer" titleTextColor="#638AAF"/>
+ <itemSet/>
+ </Header>
+ <Label id="LABEL_MID" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#E5E5E5" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="0" textColor="" textSize="18.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" width="82.0" x="239.0" y="0.0"/>
+ <layout height="24.0" mode="Landscape" width="116.0" x="420.0" y="14.0"/>
+ </Label>
+ <Label id="LABEL_MAX" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#E5E5E5" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" leftMargin="16" text="" textColor="" textSize="18.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" width="98.0" x="373.0" y="0.0"/>
+ <layout height="24.0" mode="Landscape" width="116.0" x="430.0" y="24.0"/>
+ </Label>
+ <Label id="LABEL_MIN" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#E5E5E5" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="18.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" width="98.0" x="60.0" y="0.0"/>
+ <layout height="24.0" mode="Landscape" width="116.0" x="440.0" y="34.0"/>
+ </Label>
+ <ScrollPanel id="PANEL_BANDS" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property autoResizingEnabled="true" backgroundColor="" backgroundColorOpacity="0" clientAreaHeight="0" clientAreaWidth="0" pageScrollEnabled="false" scrollBarVisible="true" scrollDirection="SCROLL_PANEL_SCROLL_DIRECTION_VERTICAL" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION"/>
+ <panelLayout height="100.0" mode="Portrait" width="480.0"/>
+ <panelLayout height="100.0" mode="Landscape" width="798.0"/>
+ <layout height="410.0" mode="Portrait" type="NONE" width="480.0" x="0.0" y="40.0"/>
+ <layout height="247.0" mode="Landscape" type="NONE" width="798.0" x="1.0" y="14.0"/>
+ </ScrollPanel>
+ <CheckButton id="IDC_CHECKBUTTON5" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="User Defined" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="265.0" x="0.0" y="569.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="31.0" y="250.0"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON1" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="Preset 1" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="230.0" x="0.0" y="450.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="41.0" y="250.0"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON2" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="Preset 2" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="230.0" x="250.0" y="450.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="51.0" y="250.0"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON3" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="Preset 3" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="230.0" x="0.0" y="510.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="51.0" y="250.0"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON4" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="Preset 4" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="230.0" x="250.0" y="510.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="61.0" y="250.0"/>
+ </CheckButton>
+ <CheckButton id="IDC_CHECKBUTTON6" parent="IDF_AUDIO_EQUALIZER_FORM">
+ <property accessibilityHint1="" accessibilityHint2="" backgroundStyle="BACKGROUND_STYLE_NONE" colorOfText="" colorOfTitleText="" disabledColor="#FFFFFF" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="#FFFFFF" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="#E5E5E5" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="None" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="50.0" mode="Portrait" style="" width="200.0" x="280.0" y="569.0"/>
+ <layout height="74.0" mode="Landscape" style="" width="376.0" x="71.0" y="250.0"/>
+ </CheckButton>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="2.0.0.201303182057" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDF_AUDIO_ROUTER">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+ <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="AUDIO ROUTER" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+ <Button id="BUTTON_MICROPHONE" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Microphone" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="50.0" y="290.0"/>
+ <layout height="52.0" mode="Landscape" width="533.0" x="152.0" y="20.0"/>
+ </Button>
+ <Button id="BUTTON_HEADSET" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Wired Acces." textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="50.0" y="360.0"/>
+ <layout height="52.0" mode="Landscape" width="533.0" x="206.0" y="161.0"/>
+ </Button>
+ <Button id="BUTTON_BLUE_IN" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="BT(SCO)" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="50.0" y="430.0"/>
+ <layout height="52.0" mode="Landscape" width="533.0" x="234.0" y="241.0"/>
+ </Button>
+ <Label id="LABEL_IN" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="Audio Input Devices" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="108.0" mode="Portrait" width="330.0" x="0.0" y="180.0"/>
+ <layout height="39.0" mode="Landscape" width="446.0" x="92.0" y="20.0"/>
+ </Label>
+ <Label id="LABEL_OUT" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="Audio Output Devices" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="108.0" mode="Portrait" width="360.0" x="360.0" y="180.0"/>
+ <layout height="50.0" mode="Landscape" width="487.0" x="791.0" y="20.0"/>
+ </Label>
+ <Button id="BUTTON_SPEAKER" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Speaker" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="290.0"/>
+ <layout height="52.0" mode="Landscape" width="355.0" x="924.0" y="69.0"/>
+ </Button>
+ <Button id="BUTTON_RECEIVER" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Receiver" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="360.0"/>
+ <layout height="52.0" mode="Landscape" width="184.0" x="1095.0" y="158.0"/>
+ </Button>
+ <Button id="BUTTON_HEADSET_OUT" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="Wired Acces." textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="430.0"/>
+ <layout height="52.0" mode="Landscape" width="293.0" x="986.0" y="209.0"/>
+ </Button>
+ <Button id="BUTTON_BLUE_SCO" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="BT(SCO)" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="500.0"/>
+ <layout height="52.0" mode="Landscape" width="213.0" x="1066.0" y="294.0"/>
+ </Button>
+ <Button id="BUTTON_BLUE_A2DP" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="#90EE90" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="BT(A2DP)" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="570.0"/>
+ <layout height="52.0" mode="Landscape" width="138.0" x="1141.0" y="367.0"/>
+ </Button>
+ <Button id="BUTTON_HDMI" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="#90EE90" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="HDMI" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="640.0"/>
+ <layout height="52.0" mode="Landscape" width="161.0" x="1118.0" y="432.0"/>
+ </Button>
+ <Button id="BUTTON_DOCK" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="#90EE90" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="DOCK" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="710.0"/>
+ <layout height="52.0" mode="Landscape" width="236.0" x="1043.0" y="403.0"/>
+ </Button>
+ <Button id="BUTTON_WFD" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="#90EE90" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="WFD" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="780.0"/>
+ <layout height="48.0" mode="Landscape" width="133.0" x="1146.0" y="436.0"/>
+ </Button>
+ <Button id="BUTTON_USB" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="#90EE90" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="USB" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="850.0"/>
+ <layout height="52.0" mode="Landscape" width="355.0" x="924.0" y="432.0"/>
+ </Button>
+ <Button id="BUTTON_OUT_NONE" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="No Change" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="390.0" y="920.0"/>
+ <layout height="52.0" mode="Landscape" width="369.0" x="910.0" y="432.0"/>
+ </Button>
+ <Button id="BUTTON_IN_NONE" parent="IDF_AUDIO_ROUTER">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="No Change" textSize="32.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="60.0" mode="Portrait" width="260.0" x="50.0" y="500.0"/>
+ <layout height="52.0" mode="Landscape" width="533.0" x="211.0" y="238.0"/>
+ </Button>
+ <Label id="LABEL_ACTIVE_IN" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="Label1" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="57.0" mode="Portrait" width="350.0" x="0.0" y="87.0"/>
+ <layout height="33.0" mode="Landscape" width="519.0" x="28.0" y="20.0"/>
+ </Label>
+ <Label id="LABEL_ACTIVE_OUT" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="Label2" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="57.0" mode="Portrait" width="359.0" x="360.0" y="86.0"/>
+ <layout height="32.0" mode="Landscape" width="565.0" x="691.0" y="20.0"/>
+ </Label>
+ <Label id="IDC_LABEL3" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="Active AudioInput" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="55.0" mode="Portrait" width="330.0" x="0.0" y="0.0"/>
+ <layout height="22.0" mode="Landscape" width="449.0" x="48.0" y="20.0"/>
+ </Label>
+ <Label id="IDC_LABEL4" parent="IDF_AUDIO_ROUTER">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" leftMargin="16" text="Active AudioOutput" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="54.0" mode="Portrait" width="357.0" x="361.0" y="0.0"/>
+ <layout height="15.0" mode="Landscape" width="634.0" x="638.0" y="20.0"/>
+ </Label>
+</Scene>
--- /dev/null
+//\r
+// Tizen Native SDK\r
+// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+#include <FApp.h>\r
+#include <iostream>\r
+\r
+#include "AudioEqualizerForm.h"\r
+#include "SafeMacros.h"\r
+#include "UnitTestFactory.h"\r
+\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+using namespace Tizen::Io;\r
+using namespace Tizen::System;\r
+using namespace Tizen::App;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Ui::Scenes;\r
+using namespace Tizen::Base::Collection;\r
+\r
+using namespace Tizen::Media;\r
+\r
+static const String FORM_ID = L"AudioEqualizer";\r
+extern const Tizen::Ui::Scenes::SceneId AUDIO_EQUALIZER_SCENE_ID = L"AudioEqualizerScene";\r
+\r
+AudioEqualizerForm*\r
+AudioEqualizerForm::CreateFormN(const Tizen::Ui::Scenes::SceneId &sceneId)\r
+{\r
+ SceneManager* pSceneManager = SceneManager::GetInstance();\r
+ AudioEqualizerForm* pForm = new (std::nothrow) AudioEqualizerForm();\r
+ pForm->Initialize();\r
+ pSceneManager->AddSceneEventListener(sceneId, *(pForm->GetListener()));\r
+ return pForm;\r
+}\r
+\r
+MultiForm* AudioEqualizerForm::FormCreateFunc()\r
+{\r
+ AudioEqualizerForm* pForm = AudioEqualizerForm::CreateFormN(AUDIO_EQUALIZER_SCENE_ID);\r
+ return pForm;\r
+}\r
+\r
+String AudioEqualizerForm::GetFormId()\r
+{\r
+ return FORM_ID;\r
+}\r
+\r
+SceneId AudioEqualizerForm::GetSceneId()\r
+{\r
+ return AUDIO_EQUALIZER_SCENE_ID;\r
+}\r
+\r
+AudioEqualizerForm::AudioEqualizerForm(void)\r
+ : __pScrollPanel(null)\r
+ , __pLabelMid(null)\r
+ , __pLabelMin(null)\r
+ , __pLabelMax(null)\r
+ , __pAudioEqualizer(null)\r
+ , __pPlayer(null)\r
+ , __pLevels(null)\r
+ , __pMaxVaule(null)\r
+ , __pMinVaule(null)\r
+ , __noBands(0)\r
+{\r
+ for( int i = 0; i < 6; i++)\r
+ {\r
+ __pCheckButtons[i] = null;\r
+ }\r
+}\r
+\r
+AudioEqualizerForm::~AudioEqualizerForm(void)\r
+{\r
+}\r
+\r
+void\r
+AudioEqualizerForm::Initialize()\r
+{\r
+ AppLog("Enter");\r
+ // This is called at once when application is launched.\r
+ // Construct an XML form\r
+ Construct(L"IDF_AUDIO_EQUALIZER_FORM");\r
+ return;\r
+}\r
+\r
+result\r
+AudioEqualizerForm::OnInitializing(void)\r
+{\r
+ AppLog("AudioEqualizerForm::OnInitializing Enter");\r
+ result r = E_SUCCESS;\r
+ int heightDone = 10;\r
+ Slider* pSlider = null;\r
+ Label* pLabel = null;\r
+ String srcFile = L"NotingToPlay";\r
+ bool bOnce = false;\r
+\r
+\r
+ // Initialize Recording form\r
+ SetHeaderText(L"AUDIO EQUALIZER");\r
+ SetFooterStyle(FOOTER_STYLE_BUTTON_TEXT, false, this);\r
+ AddFooterItem(L"Play", ID_BUTTON_PLAY);\r
+ AddFooterItem(L"Stop", ID_BUTTON_STOP);\r
+ ShowFooterItem(0, true);\r
+ ShowFooterItem(1, false);\r
+\r
+ SetFormBackEventListener(this);\r
+ Footer* pfooter = GetFooter();\r
+ if (pfooter != null)\r
+ {\r
+ pfooter->SetBackButton();\r
+ }\r
+\r
+\r
+ if(_pConfig != null)\r
+ {\r
+ srcFile = _pConfig->GetContentPath(L"AudioEqualizer", L"srcfile");\r
+ AppLog("AudioEqualizer file to test: %ls", srcFile.GetPointer());\r
+ }\r
+\r
+ //Labels\r
+ __pLabelMid = static_cast< Label* >(GetControl(L"LABEL_MID"));\r
+ TryCatch(__pLabelMid, r = GetLastResult(), "__pLabel1 is null:%s", GetErrorMessage(GetLastResult()));\r
+ __pLabelMin = static_cast< Label* >(GetControl(L"LABEL_MIN"));\r
+ TryCatch(__pLabelMin, r = GetLastResult(), "__pLabel2 is null:%s", GetErrorMessage(GetLastResult()));\r
+ __pLabelMax = static_cast< Label* >(GetControl(L"LABEL_MAX"));\r
+ TryCatch(__pLabelMax, r = GetLastResult(), "__pLabel3 is null:%s", GetErrorMessage(GetLastResult()));\r
+\r
+ __pCheckButtons[0] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON1"));\r
+ TryCatch(__pCheckButtons[0], r = GetLastResult(), "[%s] IDC_CHECKBUTTON1 GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[0]->SetActionId(ID_BUTTON_CHECKED1, ID_BUTTON_UNCHECKED1, ID_BUTTON_SELECTED1);\r
+ __pCheckButtons[0]->AddActionEventListener(*this);\r
+\r
+ __pCheckButtons[1] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON2"));\r
+ TryCatch(__pCheckButtons[1], r = GetLastResult(), "[%s] IDC_CHECKBUTTON2 GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[1]->SetActionId(ID_BUTTON_CHECKED2, ID_BUTTON_UNCHECKED2, ID_BUTTON_SELECTED2);\r
+ __pCheckButtons[1]->AddActionEventListener(*this);\r
+\r
+ __pCheckButtons[2] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON3"));\r
+ TryCatch(__pCheckButtons[2], r = GetLastResult(), "[%s] IDC_CHECKBUTTON3 GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[2]->SetActionId(ID_BUTTON_CHECKED3, ID_BUTTON_UNCHECKED3, ID_BUTTON_SELECTED3);\r
+ __pCheckButtons[2]->AddActionEventListener(*this);\r
+\r
+ __pCheckButtons[3] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON4"));\r
+ TryCatch(__pCheckButtons[3], r = GetLastResult(), "[%s] IDC_CHECKBUTTON4 GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[3]->SetActionId(ID_BUTTON_CHECKED4, ID_BUTTON_UNCHECKED4, ID_BUTTON_SELECTED4);\r
+ __pCheckButtons[3]->AddActionEventListener(*this);\r
+\r
+ __pCheckButtons[4] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON5"));\r
+ TryCatch(__pCheckButtons[4], r = GetLastResult(), "[%s] UserDefined GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[4]->SetActionId(ID_BUTTON_CHECKED5, ID_BUTTON_UNCHECKED5, ID_BUTTON_SELECTED5);\r
+ __pCheckButtons[4]->AddActionEventListener(*this);\r
+ __pCheckButtons[4]->SetSelected(true);\r
+\r
+ __pCheckButtons[5] = static_cast<CheckButton* >(GetControl(L"IDC_CHECKBUTTON6"));\r
+ TryCatch(__pCheckButtons[5], r = GetLastResult(), "[%s] CheckButton_None GetControl Failed", GetErrorMessage(GetLastResult()));\r
+ __pCheckButtons[5]->SetActionId(ID_BUTTON_CHECKED6, ID_BUTTON_UNCHECKED6, ID_BUTTON_SELECTED6);\r
+ __pCheckButtons[5]->AddActionEventListener(*this);\r
+\r
+ __pScrollPanel = static_cast<ScrollPanel *>(GetControl(L"PANEL_BANDS"));\r
+ TryCatch(__pScrollPanel, r = GetLastResult(), "__pScrollPanel is null:%s", GetErrorMessage(GetLastResult()));\r
+ AddControl(*__pScrollPanel);\r
+\r
+ // Add Key event listener\r
+ AddKeyEventListener(*this);\r
+\r
+ //player instance\r
+ __pPlayer.reset(new (std::nothrow) Player());\r
+ TryCatch(__pPlayer.get() != null, r = E_OUT_OF_MEMORY, "Could not create Player");\r
+\r
+ r = __pPlayer->Construct(*this, 0);\r
+ TryCatch(r == E_SUCCESS, , "player construct failed!");\r
+\r
+ __pAudioEqualizer.reset(new (std::nothrow) AudioEqualizer());\r
+ TryCatch(__pAudioEqualizer.get() != null, r = E_OUT_OF_MEMORY, "Could not create Audio Equalizer");\r
+\r
+ r = __pAudioEqualizer->Construct(*__pPlayer);\r
+ TryCatch(r == E_SUCCESS, , "AudioEqualizer construct failed!");\r
+ AppLog("AudioEqualizerForm::OnInitializing Exit");\r
+\r
+ __sliderList.Construct();\r
+ __lableList.Construct();\r
+\r
+ __noBands = __pAudioEqualizer->GetBandCount();\r
+ TryReturn(__noBands > 0, GetLastResult(), "[%s] GetBandCount Failed", GetErrorMessage(GetLastResult()));\r
+ __pMaxVaule.reset( new int[__noBands]);\r
+ TryReturn(__pMaxVaule.get() , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] No memory to create MaxValue");\r
+\r
+ __pMinVaule.reset(new int[__noBands]);\r
+ TryReturn(__pMinVaule.get() , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] No memory to create MinVaule");\r
+ AppLog("%d", __noBands);\r
+\r
+ __pPlayer->SetMute(true);\r
+ r = __pPlayer->OpenFile(srcFile);\r
+ TryLog(r == E_SUCCESS,"OpenFile Failed - %s", GetErrorMessage(r));\r
+ r = __pPlayer->Play();\r
+ TryLog(r == E_SUCCESS,"Play Failed - %s", GetErrorMessage(r));\r
+\r
+ for (int i = 0; i < __noBands; i++)\r
+ {\r
+ int centerFrequency = 0;\r
+ r = __pAudioEqualizer->GetBandLevelRange(i, (__pMinVaule.get())[i], (__pMaxVaule.get())[i]);\r
+ TryCatch(r == E_SUCCESS , , "[%s] GetBandLevelRange failed", GetErrorMessage(r));\r
+ if (!bOnce)\r
+ {\r
+ String strMin("");\r
+ String strMax("");\r
+ strMax.Append((__pMaxVaule.get())[i]);\r
+ strMax.Append("db");\r
+ strMin.Append((__pMinVaule.get())[i]);\r
+ strMin.Append("db");\r
+ __pLabelMin->SetText(strMin);\r
+ __pLabelMax->SetText(strMax);\r
+ bOnce = true;\r
+ }\r
+\r
+ r = __pAudioEqualizer->GetBandCenterFrequency(i, centerFrequency);\r
+ TryLog(r == E_SUCCESS, "[%s]GetBandCenterFrequency failed ", GetErrorMessage(r));\r
+ AppLog("Slider %d is in 10 %d 410, 60 center Frequency - %d", __noBands, heightDone, centerFrequency);\r
+ pSlider = new Slider;\r
+ if (pSlider)\r
+ {\r
+ r = pSlider->Construct(Rectangle(100, heightDone, 360, 55), BACKGROUND_STYLE_DEFAULT, false, (__pMinVaule.get())[i], (__pMaxVaule.get())[i]);\r
+ TryCatch(r == E_SUCCESS , , "[%s] Construct failed", GetErrorMessage(r));\r
+ pSlider->SetValue(0);\r
+ __pScrollPanel->AddControl(*pSlider);\r
+ pSlider->AddAdjustmentEventListener(*this);\r
+ __sliderList.Add(pSlider);\r
+ }\r
+\r
+ pLabel = new Label;\r
+ if (pLabel)\r
+ {\r
+ String centerstr("");\r
+ centerstr.Append(centerFrequency);\r
+ centerstr.Append("Hz");\r
+ r = pLabel->Construct(Rectangle(0, heightDone, 110, 55), centerstr);\r
+ TryCatch(r == E_SUCCESS , , "[%s] Construct failed", GetErrorMessage(r));\r
+ __pScrollPanel->AddControl(*pLabel);\r
+ __lableList.Add(pLabel);\r
+ }\r
+ heightDone = heightDone + 55;\r
+ }\r
+\r
+CATCH:\r
+ if(__pPlayer)\r
+ {\r
+ __pPlayer->Stop();\r
+ __pPlayer->Close();\r
+ __pPlayer->SetMute(false);\r
+ }\r
+ return r;\r
+}\r
+\r
+\r
+AudioEqualizerForm*\r
+AudioEqualizerForm::GetListener(void)\r
+{\r
+ return this;\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)\r
+{\r
+ OnActivate(null);\r
+}\r
+void\r
+AudioEqualizerForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& nextSceneId)\r
+{\r
+\r
+}\r
+result\r
+AudioEqualizerForm::OnActivate(void* pParam)\r
+{\r
+ AppLog("AudioEqualizerForm::OnActivate Enter");\r
+ return E_SUCCESS;\r
+}\r
+\r
+\r
+result\r
+AudioEqualizerForm::OnTerminating(void)\r
+{\r
+ AppLog("Enter");\r
+ return E_SUCCESS;\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnForeground(void)\r
+{\r
+ AppLog("AudioEqualizerForm::OnActivate Enter");\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnBackground(void)\r
+{\r
+ StopPlay();\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnLowMemory(void)\r
+{\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel)\r
+{\r
+ bool isCharging = false;\r
+ Battery::IsCharging(isCharging);\r
+ AppLog("Battery Level Obtained is %d and isCharging status is %d", batteryLevel, isCharging);\r
+ if (isCharging)\r
+ {\r
+ return;\r
+ }\r
+ if ((batteryLevel == BATTERY_CRITICAL) || (batteryLevel == BATTERY_EMPTY) || (batteryLevel == BATTERY_LOW))\r
+ {\r
+ this->OnFormBackRequested(*this);\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::SetButtonChecked(int index)\r
+{\r
+ //User Defined\r
+ for (int i =0; i < 6; i++)\r
+ {\r
+ __pCheckButtons[i]->SetSelected(false);\r
+ }\r
+ __pCheckButtons[index]->SetSelected(true);\r
+\r
+ int count = __sliderList.GetCount();\r
+ Slider *pSlider = null;\r
+ AppLog("List Count - %d", count);\r
+ for (int i = 0; i < count; i++)\r
+ {\r
+ __sliderList.GetAt(i, pSlider);\r
+ if (pSlider)\r
+ {\r
+ pSlider->SetEnabled(false);\r
+ }\r
+ }\r
+\r
+ Draw();\r
+ Show();\r
+}\r
+\r
+void\r
+AudioEqualizerForm::SetUserDefined()\r
+{\r
+ for (int i =0; i < 6; i++)\r
+ {\r
+ __pCheckButtons[i]->SetSelected(false);\r
+ }\r
+ __pCheckButtons[4]->SetSelected(true);\r
+ int count = __sliderList.GetCount();\r
+ Slider *pSlider = null;\r
+ AppLog("List Count - %d", count);\r
+ for (int i = 0; i < count; i++)\r
+ {\r
+ __sliderList.GetAt(i, pSlider);\r
+ if (pSlider)\r
+ {\r
+ pSlider->SetEnabled(true);\r
+ }\r
+ }\r
+ Draw();\r
+ Show();\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)\r
+{\r
+ switch (actionId)\r
+ {\r
+ case ID_BUTTON_PLAY:\r
+ StartPlay();\r
+ break;\r
+ case ID_BUTTON_STOP:\r
+ StopPlay();\r
+ break;\r
+ case ID_BUTTON_CHECKED1:\r
+ SetUserDefinedLevels(0);\r
+ SetButtonChecked(0);\r
+ break;\r
+ case ID_BUTTON_UNCHECKED1:\r
+ SetUserDefined();\r
+ break;\r
+ case ID_BUTTON_CHECKED2:\r
+ SetUserDefinedLevels(1);\r
+ SetButtonChecked(1);\r
+ break;\r
+ case ID_BUTTON_UNCHECKED2:\r
+ SetUserDefined();\r
+ break;\r
+ case ID_BUTTON_CHECKED3:\r
+ SetUserDefinedLevels(2);\r
+ SetButtonChecked(2);\r
+ break;\r
+ case ID_BUTTON_UNCHECKED3:\r
+ SetUserDefined();\r
+ break;\r
+ case ID_BUTTON_CHECKED4:\r
+ SetUserDefinedLevels(3);\r
+ SetButtonChecked(3);\r
+ break;\r
+ case ID_BUTTON_UNCHECKED4:\r
+ SetUserDefined();\r
+ break;\r
+ case ID_BUTTON_CHECKED5:\r
+ SetUserDefined();\r
+ break;\r
+ case ID_BUTTON_CHECKED6:\r
+ SetAllBendLevelsToDefault();\r
+ SetButtonChecked(5);\r
+ break;\r
+ case ID_BUTTON_UNCHECKED5:\r
+ //intentional follow through\r
+ case ID_BUTTON_UNCHECKED6:\r
+ SetUserDefined();\r
+ break;\r
+ default:\r
+ //Do noting\r
+ AppLogException("Don't come here");\r
+ break;\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::SetSelectedBandLevel(int band, int bandLevel)\r
+{\r
+ AppLog("Here");\r
+ Slider *pSlider = null;\r
+ result r = E_SUCCESS;\r
+ r = __sliderList.GetAt(band, pSlider);\r
+ TryReturn(r == E_SUCCESS, , "[%s] GetAt Failed", GetErrorMessage(r));\r
+ pSlider->SetValue(bandLevel);\r
+}\r
+\r
+void\r
+AudioEqualizerForm::SetUserDefinedLevels(int index)\r
+{\r
+ result r = E_SUCCESS;\r
+ int length = 0;\r
+ int startIndex = 0;\r
+ String level = L"";\r
+ int bandLevel = 0;\r
+ Tizen::Base::String presetStr("");\r
+ presetStr = _pConfig->GetString("AudioEqualizer", "preset%d", index);\r
+\r
+ __pLevels.reset( new (std::nothrow)Tizen::Base::Collection::ArrayListT<int>());\r
+ length = presetStr.GetLength();\r
+\r
+ for(int i = 0, j = 0; i < length; i++)\r
+ {\r
+ wchar_t delimeter;\r
+ r = presetStr.GetCharAt(i, delimeter);\r
+ TryReturn(r == E_SUCCESS, , "GetCharAt() failed");\r
+\r
+ if(delimeter == ',')\r
+ {\r
+ level = L"";\r
+ AppLog("AudioEqualizerForm level: %d, %c", Tizen::Base::Character::ToDigit(delimeter, 10), delimeter);\r
+ presetStr.SubString(startIndex, i - startIndex, level);\r
+ Integer::Parse(level, bandLevel);\r
+ AppLog("AudioEqualizerForm bandLevel %d", bandLevel);\r
+ __pLevels->Add(bandLevel);\r
+ SetSelectedBandLevel(j, bandLevel);\r
+ j = j + 1;\r
+ startIndex = i + 1;\r
+ }\r
+ else if(i == length - 1)\r
+ {\r
+ presetStr.SubString(startIndex, level);\r
+ Integer::Parse(level, bandLevel);\r
+ AppLog("AudioEqualizerForm bandLevel %d", bandLevel);\r
+ __pLevels->Add(bandLevel);\r
+ SetSelectedBandLevel(j, bandLevel);\r
+ }\r
+ }\r
+ __pAudioEqualizer->SetAllBandsLevel(__pLevels.get());\r
+}\r
+\r
+void\r
+AudioEqualizerForm::SetAllBendLevelsToDefault(void)\r
+{\r
+ AppLog("AudioEqualizerForm::SetAllBendLevelsToDefault enter");\r
+ result r = E_SUCCESS;\r
+ r = __pAudioEqualizer->ResetAllToDefault();\r
+ TryReturn(r == E_SUCCESS, , "ResetAllToDefault :%s", GetErrorMessage(GetLastResult()));\r
+\r
+ int count = __sliderList.GetCount();\r
+ Slider *pSlider = null;\r
+ AppLog("List Count - %d", count);\r
+ for (int i = 0; i < count; i++)\r
+ {\r
+ __sliderList.GetAt(i, pSlider);\r
+ if (pSlider)\r
+ {\r
+ pSlider->SetValue(0);\r
+ }\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String &state)\r
+{\r
+ if (deviceType == DEVICE_TYPE_CHARGER)\r
+ {\r
+ Deactivate();\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)\r
+{\r
+ StopPlay();\r
+ Deactivate();\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnAdjustmentValueChanged(const Tizen::Ui::Control& source, int adjustment)\r
+{\r
+ AppLog("Enter");\r
+ result r = E_SUCCESS;\r
+ int index = -1;\r
+\r
+ Slider* pSlider = (Slider *)&source;\r
+ if (__pPlayer.get() == null)\r
+ {\r
+ return;\r
+ }\r
+ __sliderList.IndexOf(pSlider, index);\r
+ AppLog("Index - %d", index);\r
+ r = __pAudioEqualizer->SetBandLevel(index, adjustment);\r
+ TryCatch(r == E_SUCCESS, , "AudiEqualizer SetBandLevel() failed!");\r
+\r
+CATCH:\r
+ return;\r
+}\r
+\r
+result\r
+AudioEqualizerForm::GetFileFromConfig(String &filePath)\r
+{\r
+ result r = E_SUCCESS;\r
+ if(_pConfig)\r
+ {\r
+ filePath = _pConfig->GetContentPath(L"AudioEqualizer", L"srcfile");\r
+ AppLog("AudioEqualizerForm::GetFileFromConfig source file %ls", filePath.GetPointer());\r
+ return r;\r
+ }\r
+ return E_FAILURE;\r
+}\r
+\r
+void\r
+AudioEqualizerForm::StartPlay()\r
+{\r
+ result r = E_SUCCESS;\r
+ String filePath = L"";\r
+ int volume = 0;\r
+\r
+ //get file to play\r
+ r = GetFileFromConfig(filePath);\r
+ TryCatch(r == E_SUCCESS, , "Read Config.ini failed");\r
+\r
+ //get volume to set for player\r
+ if(_pConfig != null)\r
+ {\r
+ volume = _pConfig->GetInt(50, L"AudioEqualizer", L"volume");\r
+ }\r
+\r
+ AppLog("AudioEqualizerForm::StartPlay play file %ls with voulme: %d", filePath.GetPointer(), volume);\r
+\r
+ if (__pPlayer.get() == null || __pPlayer->GetState() == PLAYER_STATE_ERROR)\r
+ {\r
+ //player instance\r
+ __pPlayer.reset(new (std::nothrow) Player());\r
+ TryCatch(__pPlayer.get() != null, r = E_OUT_OF_MEMORY, "Could not create Player");\r
+\r
+ r = __pPlayer->Construct(*this, 0);\r
+ TryCatch(r == E_SUCCESS, , "player construct failed!");\r
+\r
+ if(__pAudioEqualizer.get() == null)\r
+ {\r
+ __pAudioEqualizer.reset(new (std::nothrow) AudioEqualizer());\r
+ TryCatch(__pAudioEqualizer.get() != null, r = E_OUT_OF_MEMORY, "Could not create Audio Equalizer");\r
+ }\r
+\r
+ r = __pAudioEqualizer->Construct(*__pPlayer);\r
+ TryCatch(r == E_SUCCESS, , "AudioEqualizer construct failed!");\r
+ }\r
+\r
+ if ((__pPlayer->GetState() == PLAYER_STATE_INITIALIZED) || (__pPlayer->GetState() == PLAYER_STATE_CLOSED))\r
+ {\r
+ r = __pPlayer->OpenFile(filePath);\r
+ TryCatch(r == E_SUCCESS, , "player OpenFile failed!");\r
+ }\r
+ if ((__pPlayer->GetState() == PLAYER_STATE_OPENED) || (__pPlayer->GetState() == PLAYER_STATE_STOPPED))\r
+ {\r
+ r = __pPlayer->SetVolume(volume);\r
+ TryCatch(r == E_SUCCESS, , "SetVolume failed!");\r
+\r
+ __pPlayer->SetLooping(true);\r
+ TryCatch(r == E_SUCCESS, , "SetLooping failed!");\r
+\r
+ r = __pPlayer->Play();\r
+ TryCatch(r == E_SUCCESS, , "Play failed!");\r
+\r
+ ShowFooterItem(0, false); //ShowFooterItem(int index, bool show). index = 0 for Play and 1 for Stop button.\r
+ ShowFooterItem(1, true);\r
+ }\r
+ else\r
+ {\r
+ AppLog("AudioEqualizerForm::StartPlay player E_INVALID_STATE: %d", __pPlayer->GetState());\r
+ }\r
+ Draw();\r
+ Show();\r
+CATCH:\r
+ return;\r
+}\r
+\r
+void\r
+AudioEqualizerForm::StopPlay()\r
+{\r
+ result r = E_SUCCESS;\r
+ if (__pPlayer.get() != null &&__pPlayer->GetState() == PLAYER_STATE_PLAYING)\r
+ {\r
+ r = __pPlayer->Stop();\r
+ __pCheckButtons[4]->Show();\r
+ TryCatch(r == E_SUCCESS, , "player Stop failed!");\r
+\r
+ r = __pPlayer->Close();\r
+ TryCatch(r == E_SUCCESS, , "player Close failed!");\r
+\r
+ ShowFooterItem(0, true); //ShowFooterItem(int index, bool show). index = 0 for Play and 1 for Stop button.\r
+ ShowFooterItem(1, false);\r
+ }\r
+\r
+CATCH:\r
+ return;\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnKeyPressed(const Control& source, Tizen::Ui::KeyCode keyCode)\r
+{\r
+ result r = E_SUCCESS;\r
+ r = ConsumeInputEvent();\r
+ if (IsFailed(r))\r
+ {\r
+ AppLog("Consuming input event failed(%s)", GetErrorMessage(r));\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnKeyReleased(const Control& source, Tizen::Ui::KeyCode keyCode)\r
+{\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnKeyLongPressed(const Control& source, Tizen::Ui::KeyCode keyCode)\r
+{\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerAudioFocusChanged(void)\r
+{\r
+ AppLog("Audio focus has changed");\r
+ if (__pPlayer.get() != null && __pPlayer->GetState() == PLAYER_STATE_PLAYING)\r
+ {\r
+ StopPlay();\r
+ AppLog("Audio focus has changed");\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerBuffering(int percent)\r
+{\r
+ //Insert your code to operate while the buffering for a remote resource is going on.\r
+ String message;\r
+ message.Format(100, L"Buffering %d%%", percent);\r
+ AppLog("OnPlayerBuffering ");\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerEndOfClip(void)\r
+{\r
+ //Insert your code to operate after the player reached end of clip.\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerErrorOccurred(PlayerErrorReason r)\r
+{\r
+ //Insert your code to operate after any error occurred.\r
+ switch (r)\r
+ {\r
+ case PLAYER_ERROR_NONE:\r
+ {\r
+ AppLog("PLAYER_ERROR_NONE");\r
+ //DisplayStatusMessage(L"Unknown Error");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_INVALID_DATA:\r
+ {\r
+ AppLog("PLAYER_ERROR_INVALID_DATA");\r
+ //DisplayStatusMessage(L"Invalid data");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_CONNECTION_LOST:\r
+ {\r
+ AppLog("PLAYER_ERROR_CONNECTION_LOST");\r
+ //DisplayStatusMessage(L"Connection Lost");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_STREAMING_TIMEOUT:\r
+ {\r
+ AppLog("PLAYER_ERROR_STREAMING_TIMEOUT");\r
+ //DisplayStatusMessage(L"Streaming TimeOut");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_TRANSPORT:\r
+ {\r
+ AppLog("PLAYER_ERROR_TRANSPORT");\r
+ //DisplayStatusMessage(L"Transport Error");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_SERVER:\r
+ {\r
+ AppLog("PLAYER_ERROR_SERVER");\r
+ //DisplayStatusMessage(L"Remote Server Error");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_OUT_OF_MEMORY:\r
+ {\r
+ AppLog("PLAYER_ERROR_OUT_OF_MEMORY");\r
+ //DisplayStatusMessage(L"Out of Memory");\r
+ break;\r
+ }\r
+\r
+ case PLAYER_ERROR_DEVICE_FAILED:\r
+ {\r
+ AppLog("PLAYER_ERROR_DEVICE_FAILED");\r
+ //DisplayStatusMessage(L"Device Error");\r
+ break;\r
+ }\r
+ default:\r
+ break;\r
+ }\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerInterrupted(void)\r
+{\r
+ AppLog("Enter");\r
+ StopPlay();\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerOpened(result r)\r
+{\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerReleased(void)\r
+{\r
+ AppLog(" Enter");\r
+}\r
+\r
+void\r
+AudioEqualizerForm::OnPlayerSeekCompleted(result r)\r
+{\r
+ AppLog("Enter obtained result is %s", GetErrorMessage(r));\r
+}\r
--- /dev/null
+//\r
+// Tizen Native SDK\r
+// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+#ifndef AUDIOEQUALIZERFORM_H_\r
+#define AUDIOEQUALIZERFORM_H_\r
+\r
+#include <unique_ptr.h>\r
+#include <FBase.h>\r
+#include <FSystem.h>\r
+#include <FUi.h>\r
+#include <FMedia.h>\r
+#include <FIo.h>\r
+#include "MultiForm.h"\r
+\r
+class AudioEqualizerForm\r
+ : public MultiForm\r
+ , public Tizen::Media::IPlayerEventListener\r
+ , public Tizen::Ui::IKeyEventListener\r
+ , public Tizen::Ui::IAdjustmentEventListener\r
+ , public Tizen::Ui::Scenes::ISceneEventListener\r
+{\r
+\r
+public:\r
+ AudioEqualizerForm(void);\r
+ virtual ~AudioEqualizerForm(void);\r
+ void Initialize(void);\r
+ AudioEqualizerForm* GetListener(void);\r
+ static AudioEqualizerForm* CreateFormN(const Tizen::Ui::Scenes::SceneId &sceneId);\r
+ static MultiForm* FormCreateFunc();\r
+ static String GetFormId();\r
+ static Tizen::Ui::Scenes::SceneId GetSceneId();\r
+\r
+ virtual result OnInitializing(void);\r
+ virtual result OnTerminating(void);\r
+ result OnActivate(void* pParam);\r
+\r
+ virtual void OnForeground(void);\r
+ virtual void OnBackground(void);\r
+ virtual void OnLowMemory(void);\r
+ virtual void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);\r
+ //IDeviceEventListener\r
+ void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String &state);\r
+ //IFormBackEventListener\r
+ void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
+ //IActionEventListener\r
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
+ //IAdjustmentEventListener\r
+ virtual void OnAdjustmentValueChanged(const Tizen::Ui::Control& source, int adjustment);\r
+ //IKeyEventListener\r
+ virtual void OnKeyPressed(const Control& source, Tizen::Ui::KeyCode keyCode);\r
+ virtual void OnKeyReleased(const Control& source, Tizen::Ui::KeyCode keyCode);\r
+ virtual void OnKeyLongPressed(const Control& source, Tizen::Ui::KeyCode keyCode);\r
+ //IPlayerEventListener\r
+ virtual void OnPlayerAudioFocusChanged (void);\r
+ virtual void OnPlayerBuffering (int percent);\r
+ virtual void OnPlayerEndOfClip (void);\r
+ virtual void OnPlayerErrorOccurred (Tizen::Media::PlayerErrorReason r);\r
+ virtual void OnPlayerInterrupted (void);\r
+ virtual void OnPlayerOpened (result r);\r
+ virtual void OnPlayerReleased (void);\r
+ virtual void OnPlayerSeekCompleted (result r);\r
+ //ISceneEventListener\r
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
+\r
+private:\r
+ result GetFileFromConfig(Tizen::Base::String& finePath);\r
+ void StartPlay(void);\r
+ void StopPlay(void);\r
+ void SetUserDefinedLevels(int index);\r
+ void SetAllBendLevelsToDefault(void);\r
+ void SetSelectedBandLevel(int band, int bandLevel);\r
+ void SetUserDefined();\r
+ void SetButtonChecked(int i);\r
+private:\r
+ static const int ID_BUTTON_PLAY = 100;\r
+ static const int ID_BUTTON_STOP = 101;\r
+ static const int ID_BUTTON_CHECKED1 = 119;\r
+ static const int ID_BUTTON_UNCHECKED1 = 120;\r
+ static const int ID_BUTTON_SELECTED1 = 121;\r
+ static const int ID_BUTTON_CHECKED2 = 122;\r
+ static const int ID_BUTTON_UNCHECKED2 = 123;\r
+ static const int ID_BUTTON_SELECTED2 = 124;\r
+ static const int ID_BUTTON_CHECKED3 = 125;\r
+ static const int ID_BUTTON_UNCHECKED3 = 126;\r
+ static const int ID_BUTTON_SELECTED3 = 127;\r
+ static const int ID_BUTTON_CHECKED4 = 128;\r
+ static const int ID_BUTTON_UNCHECKED4 = 129;\r
+ static const int ID_BUTTON_SELECTED4 = 130;\r
+ static const int ID_BUTTON_CHECKED5 = 131;\r
+ static const int ID_BUTTON_UNCHECKED5 = 132;\r
+ static const int ID_BUTTON_SELECTED5 = 133;\r
+ static const int ID_BUTTON_CHECKED6 = 134;\r
+ static const int ID_BUTTON_UNCHECKED6 = 135;\r
+ static const int ID_BUTTON_SELECTED6 = 136;\r
+ Tizen::Base::Collection::ArrayListT<Tizen::Ui::Controls::Slider*> __sliderList;\r
+ Tizen::Base::Collection::ArrayListT<Tizen::Ui::Controls::Label*> __lableList;\r
+ Tizen::Ui::Controls::ScrollPanel* __pScrollPanel;\r
+ Tizen::Ui::Controls::Label* __pLabelMid;\r
+ Tizen::Ui::Controls::Label* __pLabelMin;\r
+ Tizen::Ui::Controls::Label* __pLabelMax;\r
+ Tizen::Ui::Controls::CheckButton* __pCheckButtons[6];\r
+ std::unique_ptr<Tizen::Media::AudioEqualizer> __pAudioEqualizer;\r
+ std::unique_ptr<Tizen::Media::Player> __pPlayer;\r
+ std::unique_ptr<Tizen::Base::Collection::IListT<int> > __pLevels;\r
+ std::unique_ptr<int> __pMaxVaule;\r
+ std::unique_ptr<int> __pMinVaule;\r
+ int __noBands;\r
+};\r
+\r
+#endif //_AUDIO_IN_OUT_H_\r
--- /dev/null
+//\r
+// Tizen C++ SDK\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://www.tizenopensource.org/license\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+#include <FApp.h>\r
+#include <iostream>\r
+#include <FGraphics.h>\r
+#include <FGrpColor.h>\r
+#include <FMediaAudioRouteInfo.h>\r
+#include <FMediaAudioRouteManager.h>\r
+\r
+#include "AudioRouteForm.h"\r
+#include "SafeMacros.h"\r
+#include "UnitTestFactory.h"\r
+\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+using namespace Tizen::Io;\r
+using namespace Tizen::System;\r
+using namespace Tizen::App;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Ui::Scenes;\r
+using namespace Tizen::Media;\r
+\r
+static const String FORM_ID = L"AudioRouteForm";\r
+extern const Tizen::Ui::Scenes::SceneId AUDIO_ROUTE_SCENE_ID = L"AudioRouteScene";\r
+\r
+const wchar_t* AudioRouteForm::INPUT_DEVICE_LIST[] = {\r
+ L"INPUT_NONE"\r
+ , L"MIC"\r
+ , L"WIRED_ACCESSORY"\r
+ , L"BT_SCO"\r
+};\r
+\r
+const wchar_t* AudioRouteForm::OUTPUT_DEVICE_LIST[] = {\r
+ L"OUTPUT_NONE"\r
+ , L"SPEAKER"\r
+ , L"RECIEVER"\r
+ , L"WIRED_ACCESSORY"\r
+ , L"BT_SCO"\r
+ , L"BT_A2DP"\r
+ , L"DOCK"\r
+ , L"HDMI"\r
+ , L"WFD"\r
+ , L"USB_AUDIO"\r
+};\r
+\r
+AudioRouteForm*\r
+AudioRouteForm::CreateFormN(const Tizen::Ui::Scenes::SceneId &sceneId)\r
+{\r
+ SceneManager* pSceneManager = SceneManager::GetInstance();\r
+ AudioRouteForm* pForm = new (std::nothrow) AudioRouteForm();\r
+ pForm->Initialize();\r
+ pSceneManager->AddSceneEventListener(sceneId, *(pForm->GetListener()));\r
+ return pForm;\r
+}\r
+\r
+MultiForm*\r
+AudioRouteForm::FormCreateFunc()\r
+{\r
+ AudioRouteForm* pForm = AudioRouteForm::CreateFormN(AUDIO_ROUTE_SCENE_ID);\r
+ return pForm;\r
+}\r
+\r
+String\r
+AudioRouteForm::GetFormId()\r
+{\r
+ return FORM_ID;\r
+}\r
+\r
+SceneId\r
+AudioRouteForm::GetSceneId()\r
+{\r
+ return AUDIO_ROUTE_SCENE_ID;\r
+}\r
+\r
+AudioRouteForm*\r
+AudioRouteForm::GetListener(void)\r
+{\r
+ return this;\r
+}\r
+void\r
+AudioRouteForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)\r
+{\r
+ OnActivate(null);\r
+}\r
+void\r
+AudioRouteForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& nextSceneId)\r
+{\r
+\r
+}\r
+void\r
+AudioRouteForm::UpdateInputDevices(void)\r
+{\r
+ for (int i = 0; i < MAX_INPUT_DEVICE; i++)\r
+ {\r
+ if (__pInputDeviceButtons[i])\r
+ {\r
+ __pInputDeviceButtons[i]->SetEnabled(__inputList[i]);\r
+ __pInputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_BLUE));\r
+ }\r
+ }\r
+ __pLabelActiveIn->SetText(INPUT_DEVICE_LIST[__currentInputDevice]);\r
+ Draw();\r
+}\r
+void\r
+AudioRouteForm::UpdateOutputDevices(void)\r
+{\r
+ for (int i = 0; i < MAX_OUTPUT_DEVICE; i++)\r
+ {\r
+ if (__pOutputDeviceButtons[i])\r
+ {\r
+ __pOutputDeviceButtons[i]->SetEnabled(__outputList[i]);\r
+ __pOutputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_BLUE));\r
+ }\r
+ }\r
+ __pLabelActiveOut->SetText(OUTPUT_DEVICE_LIST[__currentOutputDevice]);\r
+ Draw();\r
+}\r
+\r
+AudioRouteForm::AudioRouteForm(void)\r
+ : __pAudioRouteManager(null)\r
+ , __pAudioDeviceList(null, remover)\r
+ , __pPlayer(null)\r
+ , __pAudioRecorder(null)\r
+ , __toRouteInputDevice(INPUT_AUDIO_DEVICE_NONE)\r
+ , __toRouteOutputDevice(OUTPUT_AUDIO_DEVICE_NONE)\r
+ , __pLabelActiveIn(null)\r
+ , __pLabelActiveOut(null)\r
+ , __numInputAvail(0)\r
+ , __numOutputAvail(0)\r
+ , __isOutChecked(false)\r
+ , __isInChecked(false)\r
+ , __isRecording(false)\r
+ , __isPlaying(false)\r
+{\r
+ for (int i= 0;i < MAX_INPUT_DEVICE; i ++)\r
+ {\r
+ __inputList[i] = 0;\r
+ __pInputDeviceButtons[i] = null;\r
+ }\r
+\r
+ for (int i= 0;i < MAX_OUTPUT_DEVICE; i ++)\r
+ {\r
+ __outputList[i] = 0;\r
+ __pOutputDeviceButtons[i] = null;\r
+ }\r
+}\r
+\r
+AudioRouteForm::~AudioRouteForm(void)\r
+{\r
+ __pAudioRouteManager->SetAudioRouteEventListener(null);\r
+ __pAudioRouteManager = null;\r
+}\r
+\r
+bool\r
+AudioRouteForm::Initialize(void)\r
+{\r
+ // This is called at once when application is launched.\r
+ // Construct an XML form\r
+ Construct(L"IDF_AUDIO_ROUTER");\r
+ return true;\r
+}\r
+\r
+result\r
+AudioRouteForm::OnInitializing(void)\r
+{\r
+ result r = E_SUCCESS;\r
+ AppConfig* pConfig = null;\r
+ SetFormBackEventListener(this);\r
+ Footer* pFooter = GetFooter();\r
+ TryReturn(pFooter, GetLastResult(), "[%s] GetFooter Failed", GetErrorMessage(GetLastResult()));\r
+ pFooter->SetBackButton();\r
+\r
+ AddFooterItem(L"Reset", ID_BUTTON_RESET);\r
+ AddFooterItem(L"Record", ID_BUTTON_RECORD);\r
+ AddFooterItem(L"Play", ID_BUTTON_PLAY);\r
+\r
+ pFooter->AddActionEventListener(*this);\r
+ pFooter->SetItemEnabled(FOOTER_ID_RESET, false);\r
+ pFooter->SetItemEnabled(FOOTER_ID_PLAY, false);\r
+\r
+ InitAudioDeviceStructures();\r
+ //Input Devices\r
+\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_NONE] = static_cast<Button *>(GetControl(L"BUTTON_IN_NONE"));\r
+ TryCatch(__pInputDeviceButtons[INPUT_AUDIO_DEVICE_NONE] != null, r = GetLastResult(), "[%s] GetControl BUTTON_IN_NONE Failed",GetErrorMessage(GetLastResult()));\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_NONE]->SetActionId(ID_INPUT_BUTTON_BASE + INPUT_AUDIO_DEVICE_NONE);\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_NONE]->AddActionEventListener(*this);\r
+\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_MIC] = static_cast<Button *>(GetControl(L"BUTTON_MICROPHONE"));\r
+ TryCatch(__pInputDeviceButtons[INPUT_AUDIO_DEVICE_MIC] != null, r = GetLastResult(), "[%s] GetControl BUTTON_MICROPHONE Failed",GetErrorMessage(GetLastResult()));\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_MIC]->SetActionId(ID_INPUT_BUTTON_BASE + INPUT_AUDIO_DEVICE_MIC);\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_MIC]->AddActionEventListener(*this);\r
+\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_WIRED_ACCESSORY] = static_cast<Button *>(GetControl(L"BUTTON_HEADSET"));\r
+ TryCatch(__pInputDeviceButtons[INPUT_AUDIO_DEVICE_WIRED_ACCESSORY] != null, r = GetLastResult(), "[%s] GetControl BUTTON_HEADSET Failed",GetErrorMessage(GetLastResult()));\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_WIRED_ACCESSORY]->SetActionId(ID_INPUT_BUTTON_BASE + INPUT_AUDIO_DEVICE_WIRED_ACCESSORY);\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_WIRED_ACCESSORY]->AddActionEventListener(*this);\r
+\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_BT_SCO] = static_cast<Button *>(GetControl(L"BUTTON_BLUE_IN"));\r
+ TryCatch(__pInputDeviceButtons[INPUT_AUDIO_DEVICE_BT_SCO] != null, r = GetLastResult(), "[%s] GetControl BUTTON_BLUE_IN Failed",GetErrorMessage(GetLastResult()));\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_BT_SCO]->SetActionId(ID_INPUT_BUTTON_BASE + INPUT_AUDIO_DEVICE_BT_SCO);\r
+ __pInputDeviceButtons[INPUT_AUDIO_DEVICE_BT_SCO]->AddActionEventListener(*this);\r
+\r
+ //Output Devices\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_NONE] = static_cast<Button *>(GetControl(L"BUTTON_OUT_NONE"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_NONE] != null, r = GetLastResult(), "[%s] GetControl BUTTON_OUT_NONE Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_NONE]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_NONE);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_NONE]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_SPEAKER] = static_cast<Button *>(GetControl(L"BUTTON_SPEAKER"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_SPEAKER] != null, r = GetLastResult(), "[%s] GetControl BUTTON_SPEAKER Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_SPEAKER]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_SPEAKER);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_SPEAKER]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_RECEIVER] = static_cast<Button *>(GetControl(L"BUTTON_RECEIVER"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_RECEIVER] != null, r = GetLastResult(), "[%s] GetControl BUTTON_RECEIVER Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_RECEIVER]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_RECEIVER);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_RECEIVER]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WIRED_ACCESSORY] = static_cast<Button *>(GetControl(L"BUTTON_HEADSET_OUT"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WIRED_ACCESSORY] != null, r = GetLastResult(), "[%s] GetControl BUTTON_HEADSET_OUT Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WIRED_ACCESSORY]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_WIRED_ACCESSORY);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WIRED_ACCESSORY]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_A2DP] = static_cast<Button *>(GetControl(L"BUTTON_BLUE_A2DP"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_A2DP] != null, r = GetLastResult(), "[%s] GetControl BUTTON_BLUE_A2DP Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_A2DP]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_BT_A2DP);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_A2DP]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_SCO] = static_cast<Button *>(GetControl(L"BUTTON_BLUE_SCO"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_SCO] != null, r = GetLastResult(), "[%s] GetControl BUTTON_BLUE_SCO Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_SCO]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_BT_SCO);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_BT_SCO]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_DOCK] = static_cast<Button *>(GetControl(L"BUTTON_DOCK"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_DOCK] != null, r = GetLastResult(), "[%s] GetControl BUTTON_DOCK Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_DOCK]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_DOCK);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_DOCK]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_HDMI] = static_cast<Button *>(GetControl(L"BUTTON_HDMI"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_HDMI] != null, r = GetLastResult(), "[%s] GetControl BUTTON_HDMI Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_HDMI]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_HDMI);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_HDMI]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WFD] = static_cast<Button *>(GetControl(L"BUTTON_WFD"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WFD] != null, r = GetLastResult(), "[%s] GetControl BUTTON_WFD Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WFD]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_WFD);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_WFD]->AddActionEventListener(*this);\r
+\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_USB_AUDIO] = static_cast<Button *>(GetControl(L"BUTTON_USB"));\r
+ TryCatch(__pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_USB_AUDIO] != null, r = GetLastResult(), "[%s] GetControl BUTTON_USB Failed",GetErrorMessage(GetLastResult()));\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_USB_AUDIO]->SetActionId(ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_USB_AUDIO);\r
+ __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_USB_AUDIO]->AddActionEventListener(*this);\r
+\r
+ __pLabelActiveIn = static_cast<Label *>(GetControl(L"LABEL_ACTIVE_IN"));\r
+ TryCatch(__pLabelActiveIn != null, r = GetLastResult(), "[%s] GetControl LABEL_ACTIVE_IN Failed",GetErrorMessage(GetLastResult()));\r
+\r
+ __pLabelActiveOut = static_cast<Label *>(GetControl(L"LABEL_ACTIVE_OUT"));\r
+ TryCatch(__pLabelActiveOut != null, r = GetLastResult(), "[%s] GetControl LABEL_ACTIVE_IN Failed",GetErrorMessage(GetLastResult()));\r
+\r
+ pConfig = AppConfig::GetInstance();\r
+ TryReturn(pConfig != null, GetLastResult(), "pConfig is null");\r
+\r
+ __filePath.Clear();\r
+ __filePath.Append(App::GetInstance()->GetAppRootPath());\r
+ __filePath.Append(pConfig->GetString("AudioRouter", String(L"audioFile")));\r
+ __filePath.Append(".amr");\r
+\r
+ //__defaulTextColor = __pOutputDeviceButtons[OUTPUT_AUDIO_DEVICE_USB_AUDIO]->GetTextColor();\r
+ __pAppConfig = AppConfig::GetInstance();\r
+ TryCatch(__pAppConfig != null, r = E_SYSTEM, "[E_SYSTEM] AppConfig is NULL!");\r
+ __routingTextColor = Color(144, 238, 144);\r
+ ShowActiveButtons();\r
+ __isInChecked = false;\r
+ __isOutChecked = false;\r
+ return E_SUCCESS;\r
+CATCH:\r
+ return r;\r
+}\r
+\r
+void\r
+AudioRouteForm::InitAudioDeviceStructures(void)\r
+{\r
+ if (__pAudioRouteManager == null)\r
+ {\r
+ __pAudioRouteManager = AudioRouteManager::GetInstance();\r
+ __pAudioRouteManager->SetAudioRouteEventListener(this);\r
+ }\r
+\r
+ __pAudioDeviceList.reset(__pAudioRouteManager->GetAvailableAudioRouteListN());\r
+ AppAssert(__pAudioDeviceList.get() != null);\r
+\r
+ for (int i= 0;i < MAX_INPUT_DEVICE; i ++)\r
+ {\r
+ __inputList[i] = 0;\r
+ }\r
+ for (int i= 0;i < MAX_OUTPUT_DEVICE; i ++)\r
+ {\r
+ __outputList[i] = 0;\r
+ }\r
+\r
+ int count = __pAudioDeviceList->GetCount();\r
+ AppLog("count - %d",count);\r
+ for(int i = 0; i < count; i++)\r
+ {\r
+ AudioRouteInfo *pAudioDevice = (AudioRouteInfo *)__pAudioDeviceList->GetAt(i);\r
+ AppLog("Input - %ls Output - %ls",INPUT_DEVICE_LIST[pAudioDevice->GetInputAudioDevice()], OUTPUT_DEVICE_LIST[pAudioDevice->GetOutputAudioDevice()]);\r
+ __inputList[pAudioDevice->GetInputAudioDevice()] = 1;\r
+ __outputList[pAudioDevice->GetOutputAudioDevice()] = 1;\r
+ }\r
+\r
+ __numInputAvail = 0;\r
+ __numOutputAvail = 0;\r
+\r
+ for (int i= 0; i < MAX_INPUT_DEVICE; i++)\r
+ {\r
+ if (__inputList[i])\r
+ {\r
+ __numInputAvail++;\r
+ }\r
+ }\r
+\r
+ for (int i= 0; i < MAX_OUTPUT_DEVICE; i++)\r
+ {\r
+ if (__outputList[i])\r
+ {\r
+ __numOutputAvail++;\r
+ }\r
+ }\r
+ AudioRouteInfo device(INPUT_AUDIO_DEVICE_NONE, OUTPUT_AUDIO_DEVICE_NONE);\r
+ device = __pAudioRouteManager->GetActiveAudioRoute();\r
+ __currentInputDevice = device.GetInputAudioDevice();\r
+ __currentOutputDevice = device.GetOutputAudioDevice();\r
+ AppLog("Input - %d Output - %d", __currentInputDevice, __currentOutputDevice);\r
+}\r
+\r
+void\r
+AudioRouteForm::ShowActiveButtons(void)\r
+{\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+ ShowFooterItem(FOOTER_ID_RESET, true);\r
+}\r
+\r
+void\r
+AudioRouteForm::DeactivateButtons(void)\r
+{\r
+ for (int i = 0; i < MAX_INPUT_DEVICE; i++)\r
+ {\r
+ if (__pInputDeviceButtons[i])\r
+ {\r
+ __pInputDeviceButtons[i]->SetEnabled(false);\r
+ __pInputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+\r
+ for (int i = 0; i < MAX_OUTPUT_DEVICE; i++)\r
+ {\r
+ if (__pOutputDeviceButtons[i])\r
+ {\r
+ __pOutputDeviceButtons[i]->SetEnabled(false);\r
+ __pOutputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+ ShowFooterItem(FOOTER_ID_RESET, false);\r
+ Draw();\r
+}\r
+\r
+result\r
+AudioRouteForm::OnActivate(void* pParam)\r
+{\r
+ result r = E_SUCCESS;\r
+ AppLog("Enter");\r
+ InitAudioDeviceStructures();\r
+ AudioRouteInfo route(INPUT_AUDIO_DEVICE_NONE, OUTPUT_AUDIO_DEVICE_NONE);\r
+ ShowActiveButtons();\r
+ AppLog("Input - %ls Output - %ls", INPUT_DEVICE_LIST[__currentInputDevice], OUTPUT_DEVICE_LIST[__currentOutputDevice]);\r
+ return r;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel)\r
+{\r
+ if (batteryLevel == BATTERY_CRITICAL || batteryLevel == BATTERY_EMPTY || batteryLevel == BATTERY_LOW)\r
+ {\r
+ bool isCharging = false;\r
+ Tizen::System::RuntimeInfo::GetValue(String(L"IsCharging"), isCharging);\r
+ if ((!isCharging) && (__pPlayer.get() != null))\r
+ {\r
+ __pPlayer->Stop();\r
+ __pPlayer->Close();\r
+ Deactivate();\r
+ }\r
+ }\r
+}\r
+\r
+void\r
+AudioRouteForm::OnBackground(void)\r
+{\r
+ if(__isPlaying)\r
+ {\r
+ TryReturn(__pPlayer.get(), , "[E_INVALID_STATE] pPlayer is NULL");\r
+ PlayerState state = PLAYER_STATE_ERROR;\r
+ state = __pPlayer->GetState();\r
+ if (state == PLAYER_STATE_PLAYING)\r
+ {\r
+ __pPlayer->Pause();\r
+ ShowFooterItem(FOOTER_ID_RECORD, true);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Play", ID_BUTTON_PLAY);\r
+ __isPlaying = false;\r
+ }\r
+ }\r
+ else if (__isRecording)\r
+ {\r
+ TryReturn(__pAudioRecorder.get(), , "[E_INVALID_STATE] pAudioRecorder is NULL");\r
+ RecorderState state = RECORDER_STATE_ERROR;\r
+ state = __pAudioRecorder->GetState();\r
+ if (state == RECORDER_STATE_RECORDING)\r
+ {\r
+ __pAudioRecorder->Cancel();\r
+ }\r
+ }\r
+ ShowActiveButtons();\r
+}\r
+\r
+void\r
+AudioRouteForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)\r
+{\r
+ AudioRouteInfo routeInfo(INPUT_AUDIO_DEVICE_NONE, OUTPUT_AUDIO_DEVICE_NONE);\r
+ if (__isPlaying)\r
+ {\r
+ if (__pPlayer.get())\r
+ {\r
+ __pPlayer->Stop();\r
+ __pPlayer->Close();\r
+ }\r
+ }\r
+\r
+ if (__isRecording)\r
+ {\r
+ if (__pAudioRecorder.get())\r
+ {\r
+ __pAudioRecorder->Cancel();\r
+ }\r
+ }\r
+ TryReturn(__pAudioRouteManager, , "[E_INVALID_STATE] RouteManager is NULL");\r
+ routeInfo = __pAudioRouteManager->GetActiveAudioRoute();\r
+ if (routeInfo.GetInputAudioDevice() != INPUT_AUDIO_DEVICE_MIC ||\r
+ routeInfo.GetOutputAudioDevice() != OUTPUT_AUDIO_DEVICE_SPEAKER)\r
+ {\r
+ ShowMessageBox("Info", "The route is set to Mic/Speaker");\r
+ //Set to Default\r
+ routeInfo.SetInputAudioDevice(INPUT_AUDIO_DEVICE_MIC);\r
+ routeInfo.SetOutputAudioDevice(OUTPUT_AUDIO_DEVICE_SPEAKER);\r
+ if (__pAudioRouteManager)\r
+ {\r
+ __pAudioRouteManager->SetActiveAudioRoute(routeInfo);\r
+ }\r
+ }\r
+ Deactivate();\r
+}\r
+\r
+void\r
+AudioRouteForm::RouteAudio(void)\r
+{\r
+ result r = E_SUCCESS;\r
+ AudioRouteInfo audioRoute(INPUT_AUDIO_DEVICE_NONE, OUTPUT_AUDIO_DEVICE_NONE);\r
+ audioRoute.SetInputAudioDevice(__toRouteInputDevice);\r
+ audioRoute.SetOutputAudioDevice(__toRouteOutputDevice);\r
+ AppLog("Inout - %d output - %d", __toRouteInputDevice, __toRouteOutputDevice);\r
+ r = __pAudioRouteManager->SetActiveAudioRoute(audioRoute);\r
+ if (IsFailed(r))\r
+ {\r
+ ShowMessageBox("Error", "Route failed\n(%s)", GetErrorMessage(r));\r
+ }\r
+ else\r
+ {\r
+ __toRouteInputDevice = INPUT_AUDIO_DEVICE_NONE;\r
+ __toRouteOutputDevice = OUTPUT_AUDIO_DEVICE_NONE;\r
+ __isInChecked = false;\r
+ __isOutChecked = false;\r
+ ShowFooterItem(FOOTER_ID_RESET, false);\r
+ InitAudioDeviceStructures();\r
+ ShowActiveButtons();\r
+ }\r
+}\r
+\r
+\r
+void\r
+AudioRouteForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)\r
+{\r
+ AppLog("Action Id - %d InputSelected - %d OutputSelected - %d", actionId, __isInChecked, __isOutChecked);\r
+ result r = E_SUCCESS;\r
+ if (actionId == ID_BUTTON_RESET)\r
+ {\r
+ AudioRouteInfo audioRoute(INPUT_AUDIO_DEVICE_NONE, OUTPUT_AUDIO_DEVICE_NONE);\r
+ TryReturn(__pAudioRouteManager, , "[E_INVALID_STATE] RouteManager is NULL");\r
+ audioRoute = __pAudioRouteManager->GetActiveAudioRoute();\r
+ if (audioRoute.GetInputAudioDevice() != INPUT_AUDIO_DEVICE_MIC ||\r
+ audioRoute.GetOutputAudioDevice() != OUTPUT_AUDIO_DEVICE_SPEAKER)\r
+ {\r
+ audioRoute.SetInputAudioDevice(INPUT_AUDIO_DEVICE_MIC);\r
+ audioRoute.SetOutputAudioDevice(OUTPUT_AUDIO_DEVICE_SPEAKER);\r
+ r = __pAudioRouteManager->SetActiveAudioRoute(audioRoute);\r
+ if (IsFailed(r))\r
+ {\r
+ ShowMessageBox("Error", "Route failed\n(%s)", GetErrorMessage(r));\r
+ }\r
+ else\r
+ {\r
+ __toRouteInputDevice = INPUT_AUDIO_DEVICE_NONE;\r
+ __toRouteOutputDevice = OUTPUT_AUDIO_DEVICE_NONE;\r
+ __isInChecked = false;\r
+ __isOutChecked = false;\r
+ InitAudioDeviceStructures();\r
+ ShowActiveButtons();\r
+ }\r
+ }\r
+ }\r
+ else if (actionId == ID_BUTTON_PLAY)\r
+ {\r
+ if (!__isPlaying)\r
+ {\r
+ r = StartPlayer();\r
+ if ( r != E_SUCCESS)\r
+ {\r
+ ShowMessageBox("Error", "Play failed\n(%s)", GetErrorMessage(r));\r
+ }\r
+ TryReturn(r == E_SUCCESS, , "[%s] Play failed", GetErrorMessage(r));\r
+ ShowFooterItem(FOOTER_ID_RECORD, false);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Stop", ID_BUTTON_PLAY);\r
+ DeactivateButtons();\r
+ __isPlaying = true;\r
+ }\r
+ else\r
+ {\r
+ StopPlayer();\r
+ ShowFooterItem(FOOTER_ID_RECORD, true);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Play", ID_BUTTON_PLAY);\r
+ ShowActiveButtons();\r
+ __isPlaying = false;\r
+ }\r
+ Draw();\r
+ }\r
+ else if (actionId == ID_BUTTON_RECORD)\r
+ {\r
+ if (!__isRecording)\r
+ {\r
+ r = StartRecorder();\r
+ if ( r != E_SUCCESS)\r
+ {\r
+ ShowMessageBox("Error", "Start Recording failed\n(%s)", GetErrorMessage(r));\r
+ }\r
+ }\r
+ else\r
+ {\r
+ r = StopRecorder();\r
+ TryLog(r == E_SUCCESS, "StopRecoder Failed");\r
+ if (r != E_SUCCESS)\r
+ {\r
+\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, true);\r
+ ShowActiveButtons();\r
+ __isRecording = false;\r
+ }\r
+ }\r
+ }\r
+ else if (actionId >= ID_INPUT_BUTTON_BASE && actionId <= ID_INPUT_BUTTON_BASE + INPUT_AUDIO_DEVICE_BT_SCO)\r
+ {\r
+ int index = actionId - ID_INPUT_BUTTON_BASE;\r
+ if (__isInChecked )\r
+ {\r
+ __toRouteInputDevice = INPUT_AUDIO_DEVICE_NONE;\r
+ __isInChecked = false;\r
+ __isOutChecked = false;\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+ }\r
+ else\r
+ {\r
+ //Input\r
+ __toRouteInputDevice = static_cast<Tizen::Media::InputAudioDevice> (actionId - ID_INPUT_BUTTON_BASE);\r
+ for (int i = 0; i < MAX_INPUT_DEVICE; i++)\r
+ {\r
+ if((i == __toRouteInputDevice) && (__pInputDeviceButtons[__toRouteInputDevice]))\r
+ {\r
+ __pInputDeviceButtons[__toRouteInputDevice]->SetTextColor(Color::GetColor(COLOR_ID_RED));\r
+ __pInputDeviceButtons[__toRouteInputDevice]->Draw();\r
+ __isInChecked = true;\r
+ }\r
+ else if (__pInputDeviceButtons[i])\r
+ {\r
+ __pInputDeviceButtons[i]->SetEnabled(false);\r
+ __pInputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+ //Output\r
+ if (__isOutChecked == false)\r
+ {\r
+ for (int i = 0; i < MAX_OUTPUT_DEVICE; i++)\r
+ {\r
+ if (__pOutputDeviceButtons[i])\r
+ {\r
+ __pOutputDeviceButtons[i]->SetEnabled(false);\r
+ __pOutputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+ std::unique_ptr<IList, RouteListRemover> pOutList(GetSupportedOutDevicesN(static_cast<InputAudioDevice>(index)), remover);\r
+ if (pOutList.get())\r
+ {\r
+ for (int j = 0; j < pOutList->GetCount(); j++)\r
+ {\r
+ Long *pTemp = (Long *)pOutList->GetAt(j);\r
+ unsigned int outItem = pTemp->ToInt();\r
+ if (__pOutputDeviceButtons[outItem])\r
+ {\r
+ AppLog("outItem - %d Enabled ", outItem);\r
+ __pOutputDeviceButtons[outItem]->SetEnabled(true);\r
+ __pOutputDeviceButtons[outItem]->SetTextColor(Color::GetColor(COLOR_ID_BLUE));\r
+ }\r
+ }\r
+ }\r
+ }\r
+ else\r
+ {\r
+ RouteAudio();\r
+ }\r
+ }\r
+ }\r
+ else if (actionId >= ID_OUTPUT_BUTTON_BASE && actionId <= ID_OUTPUT_BUTTON_BASE + OUTPUT_AUDIO_DEVICE_USB_AUDIO)\r
+ {\r
+ int index = actionId - ID_OUTPUT_BUTTON_BASE;\r
+ if (__isOutChecked )\r
+ {\r
+ __toRouteOutputDevice = OUTPUT_AUDIO_DEVICE_NONE;\r
+ __isOutChecked = false;\r
+ __isInChecked = false;\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+ }\r
+ else\r
+ {\r
+ //Output\r
+ __toRouteOutputDevice = static_cast<Tizen::Media::OutputAudioDevice> (actionId - ID_OUTPUT_BUTTON_BASE);\r
+ for (int i = 0; i < MAX_OUTPUT_DEVICE; i++)\r
+ {\r
+ if((i == __toRouteOutputDevice) && (__pOutputDeviceButtons[__toRouteOutputDevice]))\r
+ {\r
+ __pOutputDeviceButtons[__toRouteOutputDevice]->SetTextColor(Color::GetColor(COLOR_ID_RED));\r
+ __pOutputDeviceButtons[__toRouteOutputDevice]->Draw();\r
+ __isOutChecked = true;\r
+ }\r
+ else if (__pOutputDeviceButtons[i])\r
+ {\r
+ __pOutputDeviceButtons[i]->SetEnabled(false);\r
+ __pOutputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+ //Input\r
+ if (__isInChecked == false)\r
+ {\r
+ for (int i = 0; i < MAX_INPUT_DEVICE; i++)\r
+ {\r
+ if (__pInputDeviceButtons[i])\r
+ {\r
+ __pInputDeviceButtons[i]->SetEnabled(false);\r
+ __pInputDeviceButtons[i]->SetTextColor(Color::GetColor(COLOR_ID_GREY));\r
+ }\r
+ }\r
+ std::unique_ptr<IList, RouteListRemover> pInList(GetSupportedInDevicesN(static_cast<OutputAudioDevice>(index)), remover);\r
+ if (pInList.get())\r
+ {\r
+ for(int j = 0; j < pInList->GetCount(); j++)\r
+ {\r
+ Long *pTemp = (Long *)pInList->GetAt(j);\r
+ unsigned int inItem = pTemp->ToInt();\r
+ if (__pInputDeviceButtons[inItem])\r
+ {\r
+ AppLog("outItem - %d Enabled ", inItem);\r
+ __pInputDeviceButtons[inItem]->SetEnabled(true);\r
+ __pInputDeviceButtons[inItem]->SetTextColor(Color::GetColor(COLOR_ID_BLUE));\r
+ }\r
+ }\r
+ }\r
+ }\r
+ else\r
+ {\r
+ RouteAudio();\r
+ }\r
+ }\r
+ }\r
+ Draw();\r
+}\r
+\r
+result\r
+AudioRouteForm::StartPlayer(void)\r
+{\r
+ bool isFileExist = false;\r
+ result r = E_SUCCESS;\r
+ isFileExist = File::IsFileExist(__filePath);\r
+ TryReturn(isFileExist == true, E_FILE_NOT_FOUND, "[E_FILE_NOT_FOUND] recorded file not found");\r
+ __pPlayer.reset( new (std::nothrow) Player);\r
+ TryReturn(__pPlayer.get(), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] can't create memory for player");\r
+ r = __pPlayer->Construct(*this);\r
+ TryReturn(r == E_SUCCESS, r, "[%s] Construct failed", GetErrorMessage(r));\r
+// __pPlayer->SetLooping(true);\r
+ r = __pPlayer->SetVolume(80);\r
+ TryReturn(r == E_SUCCESS, r, "[%s] set volume failed", GetErrorMessage(r));\r
+\r
+ r = __pPlayer->OpenFile(__filePath);\r
+ TryReturn(r == E_SUCCESS, r, "[%s] Open failed", GetErrorMessage(r));\r
+ r = __pPlayer->Play();\r
+ return r;\r
+}\r
+\r
+void\r
+AudioRouteForm::StopPlayer(void)\r
+{\r
+ PlayerState state = PLAYER_STATE_ERROR;\r
+ result r = E_SUCCESS;\r
+ TryReturn(__pPlayer.get(), , "[E_INVALID_STATE] Player is NULL!!");\r
+ state = __pPlayer->GetState();\r
+ if (state == PLAYER_STATE_ERROR)\r
+ {\r
+ __pPlayer.reset(null);\r
+ return;\r
+ }\r
+ if ((state == PLAYER_STATE_PLAYING) || (state == PLAYER_STATE_PAUSED))\r
+ {\r
+ r = __pPlayer->Stop();\r
+ TryLog(r == E_SUCCESS, "[%s] Player Stop failed", GetErrorMessage(r));\r
+ }\r
+ if ((state == PLAYER_STATE_OPENED) || (state == PLAYER_STATE_STOPPED) || (state == PLAYER_STATE_ENDOFCLIP))\r
+ {\r
+ r = __pPlayer->Close();\r
+ TryLog(r == E_SUCCESS, "[%s] Player Close failed", GetErrorMessage(r));\r
+ }\r
+ return;\r
+}\r
+\r
+result\r
+AudioRouteForm::StartRecorder(void)\r
+{\r
+ result r = E_SUCCESS;\r
+ __pAudioRecorder.reset(new (std::nothrow) AudioRecorder);\r
+ TryReturn(__pAudioRecorder.get() != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] can't create memory for AudioRecorder");\r
+\r
+ r = __pAudioRecorder->Construct(*this);\r
+ TryReturn(r == E_SUCCESS, r, "[%s] AudioRecorder::Construct failed", GetErrorMessage(r));\r
+\r
+ r = __pAudioRecorder->CreateAudioFile(__filePath, true);\r
+ TryReturn(r == E_SUCCESS, r, "[%s] AudioRecorder::CreateAudioFile failed", GetErrorMessage(r));\r
+\r
+ r = __pAudioRecorder->Record();\r
+ return r;\r
+\r
+}\r
+result\r
+AudioRouteForm::StopRecorder(void)\r
+{\r
+ TryReturn(__pAudioRecorder.get(), E_INVALID_STATE, "[E_INVALID_STATE] AudioRecorder is NULL!!");\r
+ RecorderState state = RECORDER_STATE_ERROR;\r
+ result r= E_SUCCESS;\r
+ state = __pAudioRecorder->GetState();\r
+\r
+ if (state == RECORDER_STATE_ERROR)\r
+ {\r
+ __pAudioRecorder.reset(null);\r
+ return GetLastResult();\r
+ }\r
+\r
+ if ((state == RECORDER_STATE_RECORDING) ||\r
+ (state == RECORDER_STATE_PAUSING) ||\r
+ (state == RECORDER_STATE_PAUSED))\r
+ {\r
+ r = __pAudioRecorder->Stop();\r
+ }\r
+ //Close and buttons should be set in Call-backs\r
+ return r;\r
+}\r
+\r
+//Recorder\r
+void\r
+AudioRouteForm::OnAudioRecorderStopped(result r)\r
+{\r
+ AppLog("Enter");\r
+\r
+ TryCatch(__pAudioRecorder.get(), ,"AudioRecorder is NULL!!");\r
+ TryCatch(r == E_SUCCESS, ,"[%s] Stopped returns", GetErrorMessage(r));\r
+\r
+ r = __pAudioRecorder->Close();\r
+ TryCatch(r == E_SUCCESS, , "[%s] Close failed", GetErrorMessage(r));\r
+ return;\r
+CATCH:\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ __isRecording = false;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderCanceled(result r)\r
+{\r
+ AppLog("Enter");\r
+ ShowMessageBox("Warning", "Recorder Canceled\n(%s)", GetErrorMessage(r));\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, true);\r
+ ShowActiveButtons();\r
+ __isRecording = false;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderPaused(result r)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderStarted(result r)\r
+{\r
+ AppLog("Enter");\r
+ SetFooterItem(FOOTER_ID_RECORD, "Stop", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, false);\r
+ DeactivateButtons();\r
+ __isRecording = true;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderEndReached(RecordingEndCondition endCondition)\r
+{\r
+ AppLog("Enter");\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, true);\r
+ ShowActiveButtons();\r
+ __isRecording = false;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderClosed(result r)\r
+{\r
+ AppLog("Enter");\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, true);\r
+ ShowActiveButtons();\r
+ __isRecording = false;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRecorderErrorOccurred(RecorderErrorReason r)\r
+{\r
+ AppLog("Enter");\r
+ ShowMessageBox("Error", "Recorder Error Occured\n(%s)", GetErrorMessage(r));\r
+ SetFooterItem(FOOTER_ID_RECORD, "Record", ID_BUTTON_RECORD);\r
+ ShowFooterItem(FOOTER_ID_PLAY, true);\r
+ __isRecording = false;\r
+}\r
+\r
+//Player\r
+void\r
+AudioRouteForm::OnPlayerOpened(result r)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerEndOfClip(void)\r
+{\r
+ AppLog("Enter");\r
+ ShowFooterItem(FOOTER_ID_RECORD, true);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Play", ID_BUTTON_PLAY);\r
+ ShowActiveButtons();\r
+ __isPlaying = false;\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerSeekCompleted(result r)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerBuffering(int percent)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerErrorOccurred(PlayerErrorReason r)\r
+{\r
+ AppLog("Enter");\r
+ ShowMessageBox("Error", "Player Error Occured\n(%s)", GetErrorMessage(r));\r
+ ShowFooterItem(FOOTER_ID_RECORD, true);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Play", ID_BUTTON_PLAY);\r
+ ShowActiveButtons();\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerInterrupted(void)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerAudioFocusChanged(void)\r
+{\r
+ AppLog("Enter");\r
+ ShowFooterItem(FOOTER_ID_RECORD, true);\r
+ SetFooterItem(FOOTER_ID_PLAY, "Play", ID_BUTTON_PLAY);\r
+ ShowActiveButtons();\r
+}\r
+\r
+void\r
+AudioRouteForm::OnPlayerReleased(void)\r
+{\r
+ AppLog("Enter");\r
+}\r
+\r
+void\r
+AudioRouteForm::OnActiveAudioRouteChanged(const AudioRouteInfo& route)\r
+{\r
+ AppLog("Enter");\r
+ __currentInputDevice = route.GetInputAudioDevice();\r
+ __currentOutputDevice = route.GetOutputAudioDevice();\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+}\r
+\r
+void\r
+AudioRouteForm::OnAudioRouteAdded(const AudioRouteInfo& route)\r
+{\r
+ AppLog("Input - %d Output",route.GetInputAudioDevice(), route.GetOutputAudioDevice());\r
+ AppLog("In Available Input - %d %d ", __numInputAvail, __numOutputAvail);\r
+ InitAudioDeviceStructures();\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+}\r
+void\r
+AudioRouteForm::OnAudioRouteRemoved(const AudioRouteInfo& route)\r
+{\r
+ AppLog("Input - %d Output",route.GetInputAudioDevice(), route.GetOutputAudioDevice());\r
+ InitAudioDeviceStructures();\r
+ UpdateInputDevices();\r
+ UpdateOutputDevices();\r
+}\r
+\r
+IList*\r
+AudioRouteForm::GetSupportedOutDevicesN(InputAudioDevice in)\r
+{\r
+ IList* pOutList = new (std::nothrow)ArrayList();\r
+ TryReturn(pOutList, null, "[E_OUT_OF_MEMORY] can't allocate memory for ArrayList");\r
+ int count = __pAudioDeviceList->GetCount();\r
+ AppLog("count for input %ls - %d",INPUT_DEVICE_LIST[in], count);\r
+ for(int i = 0; i < count; i ++)\r
+ {\r
+ AudioRouteInfo *pAudioDevice = (AudioRouteInfo *)__pAudioDeviceList->GetAt(i);\r
+ if(pAudioDevice->GetInputAudioDevice() == in)\r
+ {\r
+ Long *pArrayItem = new (std::nothrow) Long((Long)pAudioDevice->GetOutputAudioDevice());\r
+ AppLog("Out Device - %S", INPUT_DEVICE_LIST[pAudioDevice->GetOutputAudioDevice()]);\r
+ if (pArrayItem)\r
+ {\r
+ pOutList->Add(*pArrayItem);\r
+ }\r
+ }\r
+ }\r
+ return pOutList;\r
+}\r
+\r
+IList*\r
+AudioRouteForm::GetSupportedInDevicesN(OutputAudioDevice out)\r
+{\r
+ IList* pOutList = new (std::nothrow)ArrayList();\r
+ TryReturn(pOutList, null, "[E_OUT_OF_MEMORY] can't allocate memory for ArrayList");\r
+ int count = __pAudioDeviceList->GetCount();\r
+ AppLog("count for input %ls - %d",OUTPUT_DEVICE_LIST[out], count);\r
+ for(int i = 0; i < count; i ++)\r
+ {\r
+ AudioRouteInfo *pAudioDevice = (AudioRouteInfo *)__pAudioDeviceList->GetAt(i);\r
+ if(pAudioDevice->GetOutputAudioDevice() == out)\r
+ {\r
+ Long *pArrayItem = new (std::nothrow) Long((Long)pAudioDevice->GetInputAudioDevice());\r
+ AppLog("In Device - %ls", INPUT_DEVICE_LIST[pAudioDevice->GetInputAudioDevice()]);\r
+ if (pArrayItem)\r
+ {\r
+ pOutList->Add(*pArrayItem);\r
+ }\r
+ }\r
+ }\r
+ return pOutList;\r
+}\r
--- /dev/null
+//\r
+// Tizen C++ SDK\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://www.tizenopensource.org/license\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+#include <FBase.h>\r
+#include <FSystem.h>\r
+#include <FUi.h>\r
+#include <FMedia.h>\r
+#include <FMediaAudioRouteInfo.h>\r
+#include <FMediaAudioManagerTypes.h>\r
+#include <FMediaAudioRouteManager.h>\r
+#include <FMediaIAudioRouteEventListener.h>\r
+#include <FIo.h>\r
+#include "MultiForm.h"\r
+\r
+#ifndef _AUDIO_ENH_DEFAULT_PLAYER_H_\r
+#define _AUDIO_ENH_DEFAULT_PLAYER_H_\r
+\r
+class RouteListRemover\r
+{\r
+public:\r
+ void operator()(Tizen::Base::Collection::ArrayList *pList) const\r
+ {\r
+ if (pList != null)\r
+ {\r
+ pList->RemoveAll(true);\r
+ delete pList;\r
+ }\r
+ }\r
+ void operator()(Tizen::Base::Collection::IList *pList) const\r
+ {\r
+ if (pList != null)\r
+ {\r
+ pList->RemoveAll(true);\r
+ delete pList;\r
+ }\r
+ }\r
+};\r
+\r
+class AudioRouteForm\r
+ : public MultiForm\r
+ , public Tizen::Media::IPlayerEventListener\r
+ , public Tizen::Media::IAudioRecorderEventListener\r
+ , public Tizen::Media::IAudioRouteEventListener\r
+ , public Tizen::Ui::Scenes::ISceneEventListener\r
+{\r
+public:\r
+ AudioRouteForm(void);\r
+ virtual ~AudioRouteForm(void);\r
+ bool Initialize(void);\r
+ AudioRouteForm* GetListener(void);\r
+ static AudioRouteForm* CreateFormN(const Tizen::Ui::Scenes::SceneId &sceneId);\r
+ static MultiForm* FormCreateFunc();\r
+ static String GetFormId();\r
+ static Tizen::Ui::Scenes::SceneId GetSceneId();\r
+\r
+ void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
+ virtual result OnInitializing(void);\r
+ result OnActivate(void* pParam);\r
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
+ virtual void OnBackground(void);\r
+ void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);\r
+\r
+ //IPlayerEventListener\r
+ virtual void OnPlayerOpened(result r);\r
+ virtual void OnPlayerEndOfClip(void);\r
+ virtual void OnPlayerSeekCompleted(result r);\r
+ virtual void OnPlayerBuffering(int percent);\r
+ virtual void OnPlayerErrorOccurred(Tizen::Media::PlayerErrorReason r);\r
+ virtual void OnPlayerInterrupted(void);\r
+ virtual void OnPlayerReleased(void);\r
+ virtual void OnPlayerAudioFocusChanged(void);\r
+\r
+ virtual void OnAudioRecorderStopped(result r);\r
+ virtual void OnAudioRecorderCanceled(result r);\r
+ virtual void OnAudioRecorderPaused(result r);\r
+ virtual void OnAudioRecorderStarted(result r);\r
+ virtual void OnAudioRecorderEndReached(Tizen::Media::RecordingEndCondition endCondition);\r
+ virtual void OnAudioRecorderClosed(result r);\r
+ virtual void OnAudioRecorderErrorOccurred(Tizen::Media::RecorderErrorReason r);\r
+\r
+ void OnActiveAudioRouteChanged(const Tizen::Media::AudioRouteInfo& route);\r
+ void OnAudioRouteAdded(const Tizen::Media::AudioRouteInfo& route);\r
+ void OnAudioRouteRemoved(const Tizen::Media::AudioRouteInfo& route);\r
+\r
+ //ISceneEventListener\r
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
+ static RouteListRemover remover;\r
+protected:\r
+ static const int MAX_INPUT_DEVICE = 4;\r
+ static const int MAX_OUTPUT_DEVICE = 10;\r
+ static const wchar_t* INPUT_DEVICE_LIST[];\r
+ static const wchar_t* OUTPUT_DEVICE_LIST[];\r
+ static const int ID_BUTTON_RESET = 100;\r
+ static const int ID_BUTTON_RECORD = 101;\r
+ static const int ID_BUTTON_PLAY = 102;\r
+ static const int FOOTER_ID_RESET = 0;\r
+ static const int FOOTER_ID_RECORD = 1;\r
+ static const int FOOTER_ID_PLAY = 2;\r
+ static const int ID_INPUT_BUTTON_BASE = 300;\r
+ static const int ID_OUTPUT_BUTTON_BASE = 400;\r
+private:\r
+ Tizen::Base::Collection::IList* GetSupportedOutDevicesN(Tizen::Media::InputAudioDevice in);\r
+ Tizen::Base::Collection::IList* GetSupportedInDevicesN(Tizen::Media::OutputAudioDevice out);\r
+ void ShowActiveButtons(void);\r
+ void UpdateOutputDevices(void);\r
+ void UpdateInputDevices(void);\r
+ void DeactivateButtons(void);\r
+ void InitAudioDeviceStructures(void);\r
+\r
+ result StartPlayer(void);\r
+ void StopPlayer(void);\r
+ result StartRecorder(void);\r
+ result StopRecorder(void);\r
+\r
+ void RouteAudio(void);\r
+\r
+ Tizen::Media::AudioRouteManager* __pAudioRouteManager;\r
+ std::unique_ptr<Tizen::Base::Collection::IList, RouteListRemover> __pAudioDeviceList;\r
+ std::unique_ptr<Tizen::Media::Player> __pPlayer;\r
+ std::unique_ptr<Tizen::Media::AudioRecorder> __pAudioRecorder;\r
+ Tizen::Media::InputAudioDevice __currentInputDevice;\r
+ Tizen::Media::OutputAudioDevice __currentOutputDevice;\r
+ Tizen::Media::InputAudioDevice __toRouteInputDevice;\r
+ Tizen::Media::OutputAudioDevice __toRouteOutputDevice;\r
+ int __inputList[MAX_INPUT_DEVICE];\r
+ int __outputList[MAX_OUTPUT_DEVICE];\r
+ Tizen::Media::InputAudioDevice __inListContent[MAX_INPUT_DEVICE];\r
+ Tizen::Media::OutputAudioDevice __outListContent[MAX_OUTPUT_DEVICE];\r
+ Tizen::Ui::Controls::Button* __pInputDeviceButtons[MAX_INPUT_DEVICE];\r
+ Tizen::Ui::Controls::Button* __pOutputDeviceButtons[MAX_OUTPUT_DEVICE];\r
+ Tizen::Ui::Controls::Label* __pLabelActiveIn;\r
+ Tizen::Ui::Controls::Label* __pLabelActiveOut;\r
+ AppConfig* __pAppConfig;\r
+ int __numInputAvail;\r
+ int __numOutputAvail;\r
+ bool __isOutChecked;\r
+ bool __isInChecked;\r
+ friend class OutputListProvider;\r
+ friend class InputListProvider;\r
+ Tizen::Graphics::Color __defaulTextColor;\r
+ Tizen::Graphics::Color __routingTextColor;\r
+ Tizen::Base::String __filePath;\r
+ bool __isRecording;\r
+ bool __isPlaying;\r
+};\r
+\r
+#endif\r
+\r
//Audio
new UnitTestInfo(L"Audio", L"1.TonePlayer", TONE_PLAYER_SCENE_ID, 0);
new UnitTestInfo(L"Audio", L"2.AudioInOut", AUDIO_INOUT_SCENE_ID, 0);
+ new UnitTestInfo(L"Audio", L"3.AudioEqualizer", AUDIO_EQUALIZER_SCENE_ID, 0);
+ new UnitTestInfo(L"Audio", L"4.AudioRoute", AUDIO_ROUTE_SCENE_ID, 0);
//recorder
new UnitTestInfo(L"Recorder", L"1.Camera Capture", CAMERA_CAPTURE_SCENE_ID, 0);
#include "Audio/AudioInOut.h"
#include "Audio/TonePlayerForm.h"
+#include "Audio/AudioEqualizerForm.h"
+#include "Audio/AudioRouteForm.h"
#include "Recorder/AudioRecorderForm.h"
#include "Recorder/VideoRecorderForm.h"
r = MultiForm::SceneRegister(TonePlayerForm::GetFormId(), TonePlayerForm::GetSceneId(), TonePlayerForm::FormCreateFunc);
TryReturn(r == E_SUCCESS, r, "Error In scene Registration:%s", GetErrorMessage(r));
+ r = MultiForm::SceneRegister(AudioEqualizerForm::GetFormId(), AudioEqualizerForm::GetSceneId(), AudioEqualizerForm::FormCreateFunc);\r
+ TryReturn(r == E_SUCCESS, r, "Error In scene Registration:%s", GetErrorMessage(r));
+
+ r = MultiForm::SceneRegister(AudioRouteForm::GetFormId(), AudioRouteForm::GetSceneId(), AudioRouteForm::FormCreateFunc);
+ TryReturn(r == E_SUCCESS, r, "Error In scene Registration:%s", GetErrorMessage(r));
+
// camera scenes registration
r = MultiForm::SceneRegister(CameraCaptureForm::GetFormId(), CameraCaptureForm::GetSceneId(), CameraCaptureForm::FormCreateFunc);
TryReturn(r == E_SUCCESS, r, "Error In scene Registration:%s", GetErrorMessage(r));