public class TvRecordingClient
extends Object
java.lang.Object | |
↳ | android.media.tv.TvRecordingClient |
公共接口对象用于与特定的电视输入服务交互以进行电视节目录制。
Nested classes |
|
---|---|
class |
TvRecordingClient.RecordingCallback 回拨用于在 |
Public constructors |
|
---|---|
TvRecordingClient(Context context, String tag, TvRecordingClient.RecordingCallback callback, Handler handler) 创建一个新的TvRecordingClient对象。 |
Public methods |
|
---|---|
void |
release() 立即释放当前记录会话中的资源。 |
void |
sendAppPrivateCommand(String action, Bundle data) 发送一个私人命令到底层的电视输入。 |
void |
startRecording(Uri programUri) 在当前录制会话中开始录制电视节目。 |
void |
stopRecording() 停止当前录制会话中的电视节目录制。 |
void |
tune(String inputId, Uri channelUri, Bundle params) 调谐到指定频道以进行电视节目录制。 |
void |
tune(String inputId, Uri channelUri) 调谐到指定频道以进行电视节目录制。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
TvRecordingClient (Context context, String tag, TvRecordingClient.RecordingCallback callback, Handler handler)
创建一个新的TvRecordingClient对象。
Parameters | |
---|---|
context |
Context : The application context to create a TvRecordingClient with. |
tag |
String : A short name for debugging purposes. |
callback |
TvRecordingClient.RecordingCallback : The callback to receive recording status changes. |
handler |
Handler : The handler to invoke the callback on. |
void sendAppPrivateCommand (String action, Bundle data)
发送一个私人命令到底层的电视输入。 这可用于提供特定于域的功能,这些功能仅在特定客户端与其电视输入之间才可识别。
Parameters | |
---|---|
action |
String : The name of the private command to send. This must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting commands. |
data |
Bundle : An optional bundle to send with the command. |
void startRecording (Uri programUri)
在当前录制会话中开始录制电视节目。 当调用此方法时,预计录制会立即开始。 如果当前记录会话尚未调谐到任何频道,则此方法会引发异常。
应用程序可以为电视节目提供URI,以填写TvContract.RecordedPrograms
表中的节目特定数据字段。 非空programUri
意味着开始的记录应该是该特定的节目,而空programUri
不强制这样的要求,并且记录可以跨越多个电视节目。 无论哪种情况,应用程序都必须调用stopRecording()
来停止录制。
如果启动请求无法完成,录制会话将通过调用 onError(int)
响应。
Parameters | |
---|---|
programUri |
Uri : The URI for the TV program to record, built by buildProgramUri(long) . Can be null . |
Throws | |
---|---|
IllegalStateException |
If tune(String, Uri) request hasn't been handled yet. |
void stopRecording ()
停止当前录制会话中的电视节目录制。 当调用此方法时,预计录制会立即停止。 如果在当前记录会话中尚未开始记录,则此方法不起作用。
预计录制会话将在TvContract.RecordedPrograms
表中创建一个新数据条目,该条目描述新录制的节目并将URI传递到该条目直至onRecordingStopped(Uri)
。 如果停止请求无法完成,则记录会话将通过调用onError(int)
响应。
void tune (String inputId, Uri channelUri, Bundle params)
调谐到指定频道以进行电视节目录制。 第一个调谐请求将为相应的电视输入创建一个新的录制会话,并在应用程序和会话之间建立连接。 如果在当前录制会话中已经开始录制,则此方法会引发异常。 这可以用于提供特定于域的功能,这些功能只能在特定客户端和其电视输入之间获知。
应用程序可能会在开始或停止录制之前调用此方法,但在录制过程中可能不会。
如果调谐请求已完成,则录制会话将通过调用 onTuned(Uri)
响应,否则执行 onError(int)
。
Parameters | |
---|---|
inputId |
String : The ID of the TV input for the given channel. |
channelUri |
Uri : The URI of a channel. |
params |
Bundle : Domain-specific data for this tune request. Keys must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting keys. |
Throws | |
---|---|
IllegalStateException |
If recording is already started. |
void tune (String inputId, Uri channelUri)
调谐到指定频道以进行电视节目录制。 第一个调谐请求将为相应的电视输入创建一个新的录制会话,并在应用程序和会话之间建立连接。 如果在当前录制会话中已经开始录制,则此方法会引发异常。
应用程序可能会在开始或停止录制之前调用此方法,但在录制过程中可能不会。
如果调谐请求得到满足,则录制会话将通过调用 onTuned(Uri)
响应,否则请执行 onError(int)
。
Parameters | |
---|---|
inputId |
String : The ID of the TV input for the given channel. |
channelUri |
Uri : The URI of a channel. |
Throws | |
---|---|
IllegalStateException |
If recording is already started. |