自定义控件中自定义属性,调用此自定义控件,设置其属性值
时间: 2024-01-03 14:05:15 浏览: 100
Android自定义控件之自定义属性(二)
Cannot initialize RTSP codec context: " << av_err2str(ret) << endl;
return 1;
}
ret = av好的,这是一个关于自定义控件属性的问题。在 Android 中,我们可以通过自定义属性为自定义codec_open2(rtsp_codec_ctx, rtsp_codec, NULL);
if (ret < 0)
{
cout << "Cannot控件提供一些可配置的属性值。想要调用自定义控件并设置其属性值,可以按照 open RTSP codec: " << av_err2str(ret) << endl;
return 1;
}
// 打开HTTP-以下步骤进行:
1. 在 res/values/attrs.xml 中定义自定义属性,例如:
```xml
<resources>
<declare-styleable name="CustomView">
<attr name="customAttr" format="string" />
</declare-styleable>
</resourcesFLV地址
avformat_alloc_output_context2(&http_flv_ctx, NULL, "flv", http_flv_url);
>
```
这里定义了一个名为 CustomView 的自定义属性集合,其中包含一个名为 customAttr 的属性 if (http_flv_ctx == NULL)
{
cout << "Cannot allocate HTTP-FLV output context" << endl;
return,格式为字符串。
2. 在自定义控件的构造函数中,通过 AttributeSet 获取自定义属性的值,例如:
1;
}
// 查找HTTP-FLV编码器
http_flv_codec = avcodec_find_encoder_by_name```java
public class CustomView extends View {
private String customAttrValue;
public CustomView(Context context, AttributeSet attrs) {
("libx264");
if (http_flv_codec == NULL)
{
cout << "Cannot find encoder for codec libx264 super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
customAttrValue = a" << endl;
return 1;
}
// 添加HTTP-FLV流
AVStream* stream = avformat_new.getString(R.styleable.CustomView_customAttr);
a.recycle();
}
}
```
这里通过 TypedArray 获取自定义属性值,注意_stream(http_flv_ctx, NULL);
if (stream == NULL)
{
cout << "Cannot create new stream for HTTP-FL需要使用 R.styleable.CustomView 来获取自定义属性集合,并使用 a.recycle() 回收 TypedArray。
3. 在布局文件V output" << endl;
return 1;
}
// 设置HTTP-FLV编码器上下文参数
中使用自定义控件,并设置自定义属性值,例如:
```xml
<com.example.CustomView
android:layout_width http_flv_codec_ctx = avcodec_alloc_context3(http_flv_codec);
if (http_flv_codec_ctx == NULL)
{
="wrap_content"
android:layout_height="wrap_content"
app:customAttr="someValue" />
```
这里通过 app cout << "Cannot allocate codec context for encoder libx264" << endl;
return 1;
}
http_flv_codec:customAttr 设置自定义属性的值。
希望这个回答能够解决你的问题。如果还有疑问,请随时提出。
阅读全文