<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2015 Google Inc. All rights reserved.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<sample>
    <name>WearSpeakerSample</name>
    <group>Wearable</group>
    <package>com.example.android.wearable.speaker</package>

    <strings>
        <intro>
<![CDATA[
A sample that shows how you can record voice using the microphone on a wearable and
play the recorded voice or an mp3 file, if the wearable device has a built-in speaker.

This sample doesn't have any companion phone app so you need to install this directly
on your watch (using "adb").
]]>
        </intro>
    </strings>

    <template src="unmanaged" />

    <metadata>
        <!-- Values: {DRAFT | PUBLISHED | INTERNAL | DEPRECATED | SUPERCEDED} -->
        <status>PUBLISHED</status>
        <!-- See http://go/sample-categories for details on the next 4 fields. -->
        <categories>Wearable</categories>
        <technologies>Android</technologies>
        <languages>Java</languages>
        <solutions>Mobile</solutions>
        <!-- Values: {BEGINNER | INTERMEDIATE | ADVANCED | EXPERT} -->
        <level>INTERMEDIATE</level>
        <!-- Dimensions: 512x512, PNG fomrat -->
        <icon>screenshots/1.png</icon>
        <!-- Path to screenshots. Use <img> tags for each. -->
        <!-- <screenshots>
            <img>screenshots/composite-1.png</img>
        </screenshots> -->
        <!-- List of APIs that this sample should be cross-referenced under. Use <android>
        for fully-qualified Framework class names ("android:" namespace).

        Use <ext> for custom namespaces, if needed. See "Samples Index API" documentation
        for more details. -->
        <api_refs>
          <android>android.media.AudioTrack</android>
          <android>android.media.AudioRecord</android>
        </api_refs>

        <!-- 1-3 line description of the sample here.

            Avoid simply rearranging the sample's title. What does this sample actually
            accomplish, and how does it do it? -->
        <description>
<![CDATA[
A sample that shows how you can record voice using the microphone on a wearable and
play the recorded voice or an mp3 file, if the wearable device has a built-in speaker.

This sample doesn't have any companion phone app so you need to install this directly
on your watch (using "adb").
]]>
        </description>

        <!-- Multi-paragraph introduction to sample, from an educational point-of-view.
        Makrdown formatting allowed. This will be used to generate a mini-article for the
        sample on DAC. -->
        <!-- <intro>
<![CDATA[
]]>
        </intro> -->
    </metadata>
</sample>
