Objective:
Fortunately, in the friendship sponsored by friends to do a voice reader app, not only saved the character, but also saved to the individual in the Android application of the first bucket of gold. Now share some of the technical aspects of the Voice reader app ideas and product realization on the sentiment.
Product form:
The app is positioned as a voice reader, primarily for low-age students. Students can browse the bookshelf and select the books of interest. Then click on specific e-books to browse and learn. Step-by-step high- reading machine in this area, is the originator of the app is also the object of imitation.
From the user's point of view to interpret the app, there are two main pieces: Bookshelf , Voice book .
The bookshelf is designed in the following general:
The phonetic book is designed as follows:
Note: Click on the specific text, will play the corresponding voice, pictures from the network
Technical Analysis:
From the point of view of software development, the difficulty of this app lies in the resource management of e-book. One is Bookshelf management, which is used to display a list of meta-information for voice books. The other is the voice material management of e-books.
Suppose the app is a stand-alone version, what's the solution for storing the meta-information of a voice book?
This is relatively simple and can be implemented in two ways.
1. External import of SQLite db file
2. Customizing the XML file to describe the list of voice books
For example, the following rules:
<bookshelf> <book> <name> Book first book </name> <image>default</image> <resource> ;2c8e4202929d8331ed585fce30669649</resource> </book> <book> <name> textbook Book II </name> <i Mage>default</image> <resource>29E54AFB1494CB28E30B034B5FCBA408</resource> </book> ... </bookshelf>
Commentary: The actual use of scenario two, the custom Book_desc.xml file into the Android project Res/xml, and then the runtime loaded and interpreted.
How is the storage of the audio books implemented?
For a specific ebook, we organize and organize the relevant footage (audio/image) together. This allows you to package each ebook into a zip file.
We need to do some preparatory work before the implementation:
The first thing to do is to compress and optimize the resources, in order to maintain the sound quality/quality can be received, to minimize the proportion of the space occupied by the material resources. The relevant optimization strategies can be referred to: mobile audio and graphics optimization processing.
Second, the need for Android hardware/Common storage methods , need to have a certain understanding, specifically see this article: Resource-class app data storage processing and optimization.
Each phonetic book contains the following directory structure:
Note: Images store image files, musics store voice files, while Book.xml describes each page of the image, as well as each page of the associated area and the corresponding relationship between the voice file.
<book> <meta> <name>zp</name> <author>zp</ author> <description>zp</description> </meta> <ppts> <!--detailed definition of a specific page--<p pt> <!--Pictures-<image>544F9EFF07DD68D1F143E3E9A995E573.jpg</image> <REALX>533&L T;/realx> <realy>640</realy> <!--voice area list--<soundblocks> <!--specific The Click Area (TX, TP, BX, by) and associated voice music--<soundblock> <topx>120</topx> &L T;topy>71</topy> <bottomx>345</bottomx> <bottomy>117</bottomy> <music>C5ECF459D28DF8289E96DB7F1065C281.wav</music> </soundblock> </soundblock s>. </ppt> </ppts></book>
Commentary: A detailed definition of a specific page under the <ppt> tag, including background images , and the coordinate range and response voice of the voice associated area
Auxiliary Software Design:
The most important thing about the design of the app is the definition of the Voice book and the authoring tool for the backend.
For a specific design, see the previous section. The final output of the Book.xml editing tool is the one that makes up the end.
The specific working interface is as follows:
Thinking about the product:
What should a good voice reader app have?
1). Good interactivity, software experience easy to learn, more suitable for children of low age
2). Sticky good, let students learn quickly, and impressive
These are basic things, but it is very difficult to actually achieve them.
Current work done:
1). Introduce the left and right sliding effect, the interaction of finger swipe is more suitable for mobile phone application
2). Identify each speech block area and display a small horn to indicate that this is the appropriate voice area
Not enough, feel the user experience is general. This is no longer a technical problem, but a product-form problem.
Looking back, step-by-step reading machine. Its core philosophy is: physical hardware + software apps, hardware embedded learning software , but I feel the cart before the horse, it should focus on software apps, and do not need to bring a nearly useless shell (perhaps the Chinese consumer habits are, only willing to spend money to buy goods with entities, not willing to pay to buy paid software ). Its interactive way, animation is also suitable for students ' learning habits, but always feel less what.
To do a good job for the children of low-age pronunciation books, in fact, very difficult.
Postscript:
Originally wanted to detail the technical details, but wrote to write on the lost direction, think or roughly point. Thinking about the product and grasp may be the technical staff should pay more attention to things, technology is really not all. Of course no technology is absolutely no, hehe.
Mobile Internet Engineering--design and implementation of audio books and product planning