public
class
TtsSpan
extends Object
implements
ParcelableSpan
java.lang.Object | |
↳ | android.text.style.TtsSpan |
A span that supplies additional meta-data for the associated text intended
for text-to-speech engines. If the text is being processed by a
text-to-speech engine, the engine may use the data in this span in addition
to or instead of its associated text.
Each instance of a TtsSpan has a type, for example TYPE_DATE
or TYPE_MEASURE
. And a list of arguments, provided as
key-value pairs in a bundle.
The inner classes are there for convenience and provide builders for each
TtsSpan type.
Nested classes | |
---|---|
class |
TtsSpan.Builder<C extends Builder<?>>
A simple builder for TtsSpans. |
class |
TtsSpan.CardinalBuilder
A builder for TtsSpans of type |
class |
TtsSpan.DateBuilder
A builder for TtsSpans of type |
class |
TtsSpan.DecimalBuilder
A builder for TtsSpans of type |
class |
TtsSpan.DigitsBuilder
A builder for TtsSpans of type |
class |
TtsSpan.ElectronicBuilder
A builder for TtsSpans of type |
class |
TtsSpan.FractionBuilder
A builder for TtsSpans of type |
class |
TtsSpan.MeasureBuilder
A builder for TtsSpans of type |
class |
TtsSpan.MoneyBuilder
A builder for TtsSpans of type |
class |
TtsSpan.OrdinalBuilder
A builder for TtsSpans of type |
class |
TtsSpan.SemioticClassBuilder<C extends SemioticClassBuilder<?>>
A builder for TtsSpans, has setters for morphosyntactic features. |
class |
TtsSpan.TelephoneBuilder
A builder for TtsSpans of type |
class |
TtsSpan.TextBuilder
A builder for TtsSpans of type |
class |
TtsSpan.TimeBuilder
A builder for TtsSpans of type |
class |
TtsSpan.VerbatimBuilder
A builder for TtsSpans of type |
Constants | |
---|---|
String |
ANIMACY_ANIMATE
|
String |
ANIMACY_INANIMATE
|
String |
ARG_ANIMACY
String argument supplying animacy information. |
String |
ARG_CASE
String argument supplying case information. |
String |
ARG_COUNTRY_CODE
Argument used to specify the country code of a telephone number. |
String |
ARG_CURRENCY
Argument used to specify the currency. |
String |
ARG_DAY
Argument used to specify the day of the month of a date. |
String |
ARG_DENOMINATOR
Argument used to specify the denominator of a fraction. |
String |
ARG_DIGITS
Argument used to specify a string of digits. |
String |
ARG_DOMAIN
Argument used to specify the domain part of a URI. |
String |
ARG_EXTENSION
Argument used to specify the extension part of a telephone number. |
String |
ARG_FRACTIONAL_PART
Argument used to specify the fractional part of a decimal. |
String |
ARG_FRAGMENT_ID
Argument used to specify the fragment id of a URI. |
String |
ARG_GENDER
String argument supplying gender information. |
String |
ARG_HOURS
Argument used to specify the hours of a time. |
String |
ARG_INTEGER_PART
Argument used to specify the integer part of a decimal or fraction. |
String |
ARG_MINUTES
Argument used to specify the minutes of a time. |
String |
ARG_MONTH
Argument used to specify the month of a date. |
String |
ARG_MULTIPLICITY
String argument supplying multiplicity information. |
String |
ARG_NUMBER
Argument used to specify a whole number. |
String |
ARG_NUMBER_PARTS
Argument used to specify the main number part of a telephone number. |
String |
ARG_NUMERATOR
Argument used to specify the numerator of a fraction. |
String |
ARG_PASSWORD
Argument used to specify the password part of a URI. |
String |
ARG_PATH
Argument used to specify the path part of a URI. |
String |
ARG_PORT
Argument used to specify the port number of a URI. |
String |
ARG_PROTOCOL
Argument used to specify the protocol of a URI. |
String |
ARG_QUANTITY
Argument used to choose the suffix (thousand, million, etc) that is used to pronounce large amounts of money. |
String |
ARG_QUERY_STRING
Argument used to specify the query string of a URI. |
String |
ARG_TEXT
String supplying the text to be synthesized. |
String |
ARG_UNIT
Argument used to specify the unit of a measure. |
String |
ARG_USERNAME
Argument used to specify the username part of a URI. |
String |
ARG_VERBATIM
Argument used to specify a string where the characters are read verbatim, except whitespace. |
String |
ARG_WEEKDAY
Argument used to specify the weekday of a date. |
String |
ARG_YEAR
Argument used to specify the year of a date. |
String |
CASE_ABLATIVE
|
String |
CASE_ACCUSATIVE
|
String |
CASE_DATIVE
|
String |
CASE_GENITIVE
|
String |
CASE_INSTRUMENTAL
|
String |
CASE_LOCATIVE
|
String |
CASE_NOMINATIVE
|
String |
CASE_VOCATIVE
|
String |
GENDER_FEMALE
|
String |
GENDER_MALE
|
String |
GENDER_NEUTRAL
|
int |
MONTH_APRIL
|
int |
MONTH_AUGUST
|
int |
MONTH_DECEMBER
|
int |
MONTH_FEBRUARY
|
int |
MONTH_JANUARY
|
int |
MONTH_JULY
|
int |
MONTH_JUNE
|
int |
MONTH_MARCH
|
int |
MONTH_MAY
|
int |
MONTH_NOVEMBER
|
int |
MONTH_OCTOBER
|
int |
MONTH_SEPTEMBER
|
String |
MULTIPLICITY_DUAL
|
String |
MULTIPLICITY_PLURAL
|
String |
MULTIPLICITY_SINGLE
|
String |
TYPE_CARDINAL
The text associated with this span is a cardinal. |
String |
TYPE_DATE
The text associated with this span is a date. |
String |
TYPE_DECIMAL
The text associated with this span is a decimal number. |
String |
TYPE_DIGITS
The text associated with this span is a series of digits that have to be read sequentially. |
String |
TYPE_ELECTRONIC
The text associated with this span is a URI (can be used for URLs and email addresses). |
String |
TYPE_FRACTION
The text associated with this span is a fractional number. |
String |
TYPE_MEASURE
The text associated with this span is a measure, consisting of a number and a unit. |
String |
TYPE_MONEY
The text associated with this span is an amount of money. |
String |
TYPE_ORDINAL
The text associated with this span is an ordinal. |
String |
TYPE_TELEPHONE
The text associated with this span is a telephone number. |
String |
TYPE_TEXT
This span type can be used to add morphosyntactic features to the text it spans over, or synthesize a something else than the spanned text. |
String |
TYPE_TIME
The text associated with this span is a time, consisting of a number of
hours and minutes, specified with |
String |
TYPE_VERBATIM
The text associated with this span is a series of characters that have to be read verbatim. |
int |
WEEKDAY_FRIDAY
|
int |
WEEKDAY_MONDAY
|
int |
WEEKDAY_SATURDAY
|
int |
WEEKDAY_SUNDAY
|
int |
WEEKDAY_THURSDAY
|
int |
WEEKDAY_TUESDAY
|
int |
WEEKDAY_WEDNESDAY
|
Inherited constants |
---|
From
interface
android.os.Parcelable
|
Public constructors | |
---|---|
TtsSpan(String type, PersistableBundle args)
|
|
TtsSpan(Parcel src)
|
Public methods | |
---|---|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
PersistableBundle
|
getArgs()
Returns a bundle of the arguments set. |
int
|
getSpanTypeId()
Return a special type identifier for this span class. |
String
|
getType()
Returns the type. |
void
|
writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.text.ParcelableSpan
| |
From
interface
android.os.Parcelable
|
String ANIMACY_INANIMATE
Constant Value: "android.inanimate"
String ARG_ANIMACY
String argument supplying animacy information. Can be
ANIMACY_ANIMATE
or
ANIMACY_INANIMATE
Constant Value: "android.arg.animacy"
String ARG_CASE
String argument supplying case information. Can be any of
CASE_NOMINATIVE
, CASE_ACCUSATIVE
, CASE_DATIVE
,
CASE_ABLATIVE
, CASE_GENITIVE
, CASE_VOCATIVE
,
CASE_LOCATIVE
and CASE_INSTRUMENTAL
Constant Value: "android.arg.case"
String ARG_COUNTRY_CODE
Argument used to specify the country code of a telephone number. Can be
a string of digits optionally prefixed with a "+".
Can be used with TYPE_TELEPHONE
.
Constant Value: "android.arg.country_code"
String ARG_CURRENCY
Argument used to specify the currency. Should be a ISO4217 currency code,
e.g. "USD".
Can be used with TYPE_MONEY
.
Constant Value: "android.arg.money"
String ARG_DAY
Argument used to specify the day of the month of a date. The value should
be provided as an integer in the range from 1 up to and including 31.
Can be used with TYPE_DATE
.
Constant Value: "android.arg.day"
String ARG_DENOMINATOR
Argument used to specify the denominator of a fraction. The value can be
a string of digits of any size optionally prefixed with a + or -.
Can be used with TYPE_FRACTION
.
Constant Value: "android.arg.denominator"
String ARG_DIGITS
Argument used to specify a string of digits.
Can be used with TYPE_DIGITS
.
Constant Value: "android.arg.digits"
String ARG_DOMAIN
Argument used to specify the domain part of a URI. For example
"source.android.com".
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.domain"
String ARG_EXTENSION
Argument used to specify the extension part of a telephone number. Can be
a string of digits.
Can be used with TYPE_TELEPHONE
.
Constant Value: "android.arg.extension"
String ARG_FRACTIONAL_PART
Argument used to specify the fractional part of a decimal. The value can
be a string of digits of any size.
Can be used with TYPE_DECIMAL
.
Constant Value: "android.arg.fractional_part"
String ARG_FRAGMENT_ID
Argument used to specify the fragment id of a URI. Should be specified as
a string.
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.fragment_id"
String ARG_GENDER
String argument supplying gender information. Can be any of
GENDER_NEUTRAL
, GENDER_MALE
and
GENDER_FEMALE
.
Constant Value: "android.arg.gender"
String ARG_HOURS
Argument used to specify the hours of a time. The hours should be
provided as an integer in the range from 0 up to and including 24.
Can be used with TYPE_TIME
.
Constant Value: "android.arg.hours"
String ARG_INTEGER_PART
Argument used to specify the integer part of a decimal or fraction. The
value can be a string of digits of any size optionally prefixed with
a - or +.
Can be used with TYPE_DECIMAL
and TYPE_FRACTION
.
Constant Value: "android.arg.integer_part"
String ARG_MINUTES
Argument used to specify the minutes of a time. The hours should be
provided as an integer in the range from 0 up to and including 59.
Can be used with TYPE_TIME
.
Constant Value: "android.arg.minutes"
String ARG_MONTH
Argument used to specify the month of a date. The value should be
provided as an integer and can be any of MONTH_JANUARY
,
MONTH_FEBRUARY
, MONTH_MARCH
, MONTH_APRIL
,
MONTH_MAY
, MONTH_JUNE
, MONTH_JULY
,
MONTH_AUGUST
, MONTH_SEPTEMBER
, MONTH_OCTOBER
,
MONTH_NOVEMBER
and MONTH_DECEMBER
.
Can be used with TYPE_DATE
.
Constant Value: "android.arg.month"
String ARG_MULTIPLICITY
String argument supplying multiplicity information. Can be any of
MULTIPLICITY_SINGLE
, MULTIPLICITY_DUAL
and
MULTIPLICITY_PLURAL
Constant Value: "android.arg.multiplicity"
String ARG_NUMBER
Argument used to specify a whole number. The value can be a string of
digits of any size optionally prefixed with a - or +.
Can be used with TYPE_CARDINAL
and TYPE_ORDINAL
.
Constant Value: "android.arg.number"
String ARG_NUMBER_PARTS
Argument used to specify the main number part of a telephone number. Can
be a string of digits where the different parts of the telephone number
can be separated with a space, '-', '/' or '.'.
Can be used with TYPE_TELEPHONE
.
Constant Value: "android.arg.number_parts"
String ARG_NUMERATOR
Argument used to specify the numerator of a fraction. The value can be a
string of digits of any size optionally prefixed with a - or +.
Can be used with TYPE_FRACTION
.
Constant Value: "android.arg.numerator"
String ARG_PASSWORD
Argument used to specify the password part of a URI. Should be set as a
string.
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.password"
String ARG_PATH
Argument used to specify the path part of a URI. For example
"source/index.html".
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.path"
String ARG_PORT
Argument used to specify the port number of a URI. Should be specified as
an integer.
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.port"
String ARG_PROTOCOL
Argument used to specify the protocol of a URI. Examples are "http" and
"ftp".
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.protocol"
String ARG_QUANTITY
Argument used to choose the suffix (thousand, million, etc) that is used
to pronounce large amounts of money. For example it can be used to
disambiguate between "two thousand five hundred dollars" and
"two point five thousand dollars".
If implemented, engines should support at least "1000", "1000000",
"1000000000" and "1000000000000".
Example: if the ARG_INTEGER_PART
argument is "10", the
ARG_FRACTIONAL_PART
argument is "4", the ARG_QUANTITY
argument is "1000" and the ARG_CURRENCY
argument is "usd", the
TTS engine may pronounce the span as "ten point four thousand dollars".
With the same example but with the quantity set as "1000000" the TTS
engine may pronounce the span as "ten point four million dollars".
Can be used with TYPE_MONEY
.
Constant Value: "android.arg.quantity"
String ARG_QUERY_STRING
Argument used to specify the query string of a URI. For example
"arg=value&argtwo=value".
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.query_string"
String ARG_TEXT
String supplying the text to be synthesized. The synthesizer is free
to decide how to interpret the text.
Can be used with TYPE_TEXT
.
Constant Value: "android.arg.text"
String ARG_UNIT
Argument used to specify the unit of a measure. The unit should always be
specified in English singular form. Prefixes may be used. Engines will do
their best to pronounce them correctly in the language used. Engines are
expected to at least support the most common ones like "meter", "second",
"degree celsius" and "degree fahrenheit" with some common prefixes like
"milli" and "kilo".
Can be used with TYPE_MEASURE
.
Constant Value: "android.arg.unit"
String ARG_USERNAME
Argument used to specify the username part of a URI. Should be set as a
string.
Can be used with TYPE_ELECTRONIC
.
Constant Value: "android.arg.username"
String ARG_VERBATIM
Argument used to specify a string where the characters are read verbatim,
except whitespace.
Can be used with TYPE_VERBATIM
.
Constant Value: "android.arg.verbatim"
String ARG_WEEKDAY
Argument used to specify the weekday of a date. The value should be
provided as an integer and can be any of WEEKDAY_SUNDAY
,
WEEKDAY_MONDAY
, WEEKDAY_TUESDAY
,
WEEKDAY_WEDNESDAY
, WEEKDAY_THURSDAY
,
WEEKDAY_FRIDAY
and WEEKDAY_SATURDAY
.
Can be used with TYPE_DATE
.
Constant Value: "android.arg.weekday"
String ARG_YEAR
Argument used to specify the year of a date. The value should be provided
as a positive integer.
Can be used with TYPE_DATE
.
Constant Value: "android.arg.year"
String CASE_INSTRUMENTAL
Constant Value: "android.instrumental"
String MULTIPLICITY_PLURAL
Constant Value: "android.plural"
String MULTIPLICITY_SINGLE
Constant Value: "android.single"
String TYPE_CARDINAL
The text associated with this span is a cardinal. Must include the
number to be synthesized with ARG_NUMBER
.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.cardinal"
String TYPE_DATE
The text associated with this span is a date. At least one of the
arguments ARG_MONTH
and ARG_YEAR
has to be provided.
The argument ARG_DAY
is optional if ARG_MONTH
is set.
The argument ARG_WEEKDAY
is optional if ARG_DAY
is set.
Also accepts the arguments ARG_GENDER
, ARG_ANIMACY
,
ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.date"
String TYPE_DECIMAL
The text associated with this span is a decimal number. Must include the
number to be synthesized with ARG_INTEGER_PART
and
ARG_FRACTIONAL_PART
.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.decimal"
String TYPE_DIGITS
The text associated with this span is a series of digits that have to be
read sequentially. The digits can be set with ARG_DIGITS
.
Also accepts the arguments ARG_GENDER
, ARG_ANIMACY
,
ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.digits"
String TYPE_ELECTRONIC
The text associated with this span is a URI (can be used for URLs and
email addresses). The full schema for URLs, which email addresses can
effectively be seen as a subset of, is:
protocol://username:password@domain:port/path?query_string#fragment_id
Hence populating just username and domain will read as an email address.
All arguments are optional, but at least one has to be provided:
ARG_PROTOCOL
, ARG_USERNAME
, ARG_PASSWORD
,
ARG_DOMAIN
, ARG_PORT
, ARG_PATH
,
ARG_QUERY_STRING
and ARG_FRAGMENT_ID
.
Also accepts the arguments ARG_GENDER
, ARG_ANIMACY
,
ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.electronic"
String TYPE_FRACTION
The text associated with this span is a fractional number. Must include
the number to be synthesized with ARG_NUMERATOR
and
ARG_DENOMINATOR
. ARG_INTEGER_PART
is optional
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.fraction"
String TYPE_MEASURE
The text associated with this span is a measure, consisting of a number
and a unit. The number can be a cardinal, decimal or a fraction. Set the
number with the same arguments as TYPE_CARDINAL
,
TYPE_DECIMAL
or TYPE_FRACTION
. The unit can be
specified with ARG_UNIT
.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.measure"
String TYPE_MONEY
The text associated with this span is an amount of money. Set the amount
with the same arguments as TYPE_DECIMAL
.
ARG_CURRENCY
is used to set the currency. ARG_QUANTITY
is optional.
Also accepts the arguments ARG_GENDER
, ARG_ANIMACY
,
ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.money"
String TYPE_ORDINAL
The text associated with this span is an ordinal. Must include the
number to be synthesized with ARG_NUMBER
.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.ordinal"
String TYPE_TELEPHONE
The text associated with this span is a telephone number. The argument
ARG_NUMBER_PARTS
is required. ARG_COUNTRY_CODE
and
ARG_EXTENSION
are optional.
Also accepts the arguments ARG_GENDER
, ARG_ANIMACY
,
ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.telephone"
String TYPE_TEXT
This span type can be used to add morphosyntactic features to the text it
spans over, or synthesize a something else than the spanned text. Use
the argument ARG_TEXT
to set a different text.
Accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.text"
String TYPE_TIME
The text associated with this span is a time, consisting of a number of
hours and minutes, specified with ARG_HOURS
and
ARG_MINUTES
.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and
ARG_CASE
.
Constant Value: "android.type.time"
String TYPE_VERBATIM
The text associated with this span is a series of characters that have to
be read verbatim. The engine will attempt to read out any character like
punctuation but excluding whitespace. ARG_VERBATIM
is required.
Also accepts the arguments ARG_GENDER
,
ARG_ANIMACY
, ARG_MULTIPLICITY
and ARG_CASE
.
Constant Value: "android.type.verbatim"
TtsSpan (String type, PersistableBundle args)
Parameters | |
---|---|
type |
String
|
args |
PersistableBundle
|
int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
PersistableBundle getArgs ()
Returns a bundle of the arguments set.
Returns | |
---|---|
PersistableBundle |
The bundle of the arguments set. |
int getSpanTypeId ()
Return a special type identifier for this span class.
Returns | |
---|---|
int |
String getType ()
Returns the type.
Returns | |
---|---|
String |
The type of this instance. |
void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
dest |
Parcel :
The Parcel in which the object should be written. |
flags |
int :
Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|