我尝试用mutagen编辑mp3标签.现在我让它设置像标题一样的标签.但APIC仍然无法运作.
我的代码:
from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, TT2, TPE1, TRCK, TALB, USLT, error
# ID3 info:
# APIC: picture
# TIT2: title
# TPE1: artist
# TRCK: track number
# TALB: album
# USLT: lyric
pic_file = 'cover.jpg' # pic file
audio = MP3('song.mp3', ID3=ID3)
try:
audio.add_tags()
except:
pass
audio.tags.add(APIC(
encoding=3,
mime='image/jpeg',
type=3,
desc='Cover Picture',
data=open(pic_file, encoding='ISO-8859-1').read().encode()
))
audio.tags.add(TT2(encoding=3, text='title'))
audio.tags.add(TALB(encoding=3, text='album'))
#audio.tags.add(TPE1(encoding=3, text=item['artist'].decode('utf-8')))
#audio.tags.add(TRCK(encoding=3, text=str(track_num).decode('utf-8')))
#audio.tags.add(USLT(encoding=3, lang=u'eng', desc=u'desc', text=item['lyric'].decode('utf-8')))
audio.save()
ID3('song.mp3').save(v2_version=3)
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
谢谢 :)
编辑:搞定了: …
Jetpack Compose 中有该Modifier.blur()方法。但它模糊了它所应用的容器的内容。
我有一个类似的结构:
Box {
Toolbar()
Content()
}
Run Code Online (Sandbox Code Playgroud)
工具栏位于 z 轴内容上方。我想给工具栏一些不透明度,并模糊工具栏后面内容中的所有内容。
如何实现这一目标?
我正在使用 material.io 中的 MaterialComponents for Android。
我有两个主题(光明和黑暗)。我想显示一个 DatePickerDialog。但这是结果:

这是我如何显示对话框的代码:
private fun selectDeadline() {
val dialog = DateDialog()
val bundle = Bundle()
bundle.putInt("themeId", themeId)
dialog.arguments = bundle
dialog.show(supportFragmentManager, "")
}
class DateDialog : DialogFragment(), DatePickerDialog.OnDateSetListener {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val date = DateTime.now()
val themeId = arguments!!.getInt("themeId")
return DatePickerDialog(activity!!, themeId, this, date.year, date.monthOfYear - 1, date.dayOfMonth)
}
override fun onDateSet(view: DatePicker?, year: Int, month: Int, day: Int) {
deadlineTitle.text = "$year, $month, $day"
}
}
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的是,我的主题:
<resources>
<!-- …Run Code Online (Sandbox Code Playgroud) 我正在尝试从JetBrains学习Kotlin Native如何使用本教程:https : //kotlinlang.org/docs/tutorials/native/interop-with-c.html
但是这些教程仅适用于macOS和Linux。有时我使用Windows计算机,但我想知道它在那里的工作方式。
如何在Windows中添加libcurl库,如何将其添加到libcurl.def文件中?
在任何地方都没有解释。
目前我得到这个:
但我想要这样的东西:
而且“50”和“min”中的文本也应该与顶部对齐。
我的代码:
Row(verticalAlignment = Alignment.Bottom) {
Text(
text = "18",
color = MaterialTheme.colors.primaryVariant,
fontSize = 60.sp,
modifier = Modifier
.weight(1f).height(62.dp),
textAlign = TextAlign.End,
)
Text(
text = "hrs",
modifier = Modifier.weight(1f).height(16.dp),
)
}
Row(verticalAlignment = Alignment.Top) {
Text(
text = "50",
color = MaterialTheme.colors.primaryVariant,
fontSize = 28.sp,
modifier = Modifier.weight(1f).height(30.dp).align(Alignment.Top),
textAlign = TextAlign.End,
)
Text("min", modifier = Modifier.weight(1f))
}
Run Code Online (Sandbox Code Playgroud)
正如您在我的代码中看到的,我当前通过使用 height 属性解决了这个问题。但是对于align top就不起作用了,感觉有点不对劲。有更好的方法让它发挥作用吗?
如何访问路由开始和路由结束事件?我想在路由和加载数据时显示进度条。
有人可以告诉我这是如何工作的吗?
一切都运转良好,但有一件事并没有真正发挥作用。删除图标仅呈现在回收器视图列表的第一个元素上,如图所示。
这是我的 ItemTouchHelper 类的代码:
class ItemSwipeCallback(val context: Context) : ItemTouchHelper.Callback() {
private val listeners = ArrayList<OnItemSwipe>()
private val paint = Paint()
val theme = context.themeId
val icon = ContextCompat.getDrawable(context, R.drawable.ic_delete_filled_white_24dp)!!
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder): Boolean {
return true
}
override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
val direction = context.sharedPreferences.getInt(Preferences.SWIPE_DIRECTION, Preferences.SWIPE_VALUE_RIGHT)
return when (direction) {
Preferences.SWIPE_VALUE_RIGHT -> makeMovementFlags(0, ItemTouchHelper.RIGHT)
Preferences.SWIPE_VALUE_LEFT -> makeMovementFlags(0, ItemTouchHelper.LEFT)
else -> makeMovementFlags(0, ItemTouchHelper.RIGHT)
}
}
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: …Run Code Online (Sandbox Code Playgroud) 我使用 Nestjs 构建 REST API。
我有一个中间件,它从 Redis 缓存加载数据,并将其保存在请求对象中,以便在控制器函数中访问它。
如果我使用express作为引擎,它可以工作,但是如果使用fastify,它就不起作用。数据在控制器功能中未定义。
代码如下:
function mymiddleware(req, res, next) => {
req.data = {...};
next();
};
Run Code Online (Sandbox Code Playgroud) 我在 Rider 中使用 C# 编写了一个 WPF 应用程序。
如果我的程序崩溃,它不会在“运行”选项卡中显示异常。
有没有办法像 Java 和 Intellij Idea 一样显示异常输出(和 Console.WriteLine 输出)?