<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-E92BEA67-CF92-5E0E-8B0D-F918178CE9E8"><title>Media Client Observer Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces the Media Client Observer. It is aimed at application developers implementing audio conversion and recording solutions who need to monitor operations for state changes. </p> <section><title>Purpose</title> <p>Media Client Observer provides notifications to monitor and handle events during audio record and convert operations. </p> <p><b>Media Client Observer Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-E4EAAF44-9F3B-5CFF-B009-1A0462C3E120"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <b>mediaclient.dll</b> </p> </entry> <entry><p> <b>mediaclient.lib</b> </p> </entry> <entry><p>These files are used for implementing the Media Client Observer. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>The Audio Client APIs include <filepath>mediaclient.lib</filepath>, making the Media Client Observer notifications available. </p> </section> <section><title>Description</title> <p>Media Client Observer is used by Audio Record Utility class (<xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref>) and Audio Convert Utility class (<xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref>) to monitor the state of record and convert operations and triggers a state change event notification. </p> </section> <section><title>Key Media Client Observer Classes</title> <p>This API has a single class: </p> <ul><li id="GUID-36790A11-0207-5231-98D8-6F01A066E1E4"><p> <xref href="GUID-C18F29E7-6A66-320A-8F19-988BA1E4EAB9.dita"><apiname>MMdaObjectStateChangeObserver</apiname></xref> </p> <p>monitors the record or convert operation and triggers a stop when notified of a state change. </p> </li> </ul> </section> <section><title>Using Media Client Observer</title> <p>Notifications are used when recording or converting audio data as discussed below: </p> <p><b>Recording Audio State Change Notifications</b> </p> <p>When a <xref href="GUID-29FB1DE6-D00C-3E6B-A8AA-476FAFD7F26C.dita"><apiname>CMdaAudioRecorderUtility</apiname></xref> audio recording operation is performed, the <codeph>MMdaObjectStateChangeObserver</codeph> is included in the constructor to provide an end of file notification (<xref href="GUID-9348687E-DB8E-3C44-A7C2-EFD008675BC8.dita"><apiname>KErrEof</apiname></xref>). </p> <p><b>Converting Audio State Change Notifications</b> </p> <p>When a <xref href="GUID-810D29DA-8332-3E63-8A63-5B8A04EC9688.dita"><apiname>CMdaAudioConvertUtility</apiname></xref> audio conversion operation is performed, the <codeph>MMdaObjectStateChangeObserver</codeph> is included in the constructor to provide an end of file notification (<xref href="GUID-9348687E-DB8E-3C44-A7C2-EFD008675BC8.dita"><apiname>KErrEof</apiname></xref>). </p> </section> <section><title>See Also</title> <p><xref href="GUID-D62A282E-9DEA-5EF3-A606-20647BC5049D.dita">Audio Client APIs Overview</xref> </p> </section> </conbody></concept>